フォームに[キャンセル]と[OK]ボタンがあります。彼らは何かをしてから、近くのフォームを呼び出します。フォームの[x]ボタンをクリックしてCancelclickを呼び出すにはどうすればよいですか?境界線のアイコンからクローズフォームを検出するにはどうすればよいですか?
4
A
答えて
9
フォームがモーダルで表示されている場合は、ModalResult
の値をテストするだけです。 mrCancelの値は、十字がクリックされたことを示します。
私は、あなたのボタンがModalResult
プロパティを使用してフォームを閉じるように指示する傾向があります。 OKボタンのModalResult
をmrOK
に設定し、キャンセルボタンの設定をmrCancel
に設定します。
0
フォームのOnCloseQueryイベントを使用できます。あなたのボタンがそのmodalresult
プロパティが設定されている場合は
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:= true; //or not
ButtonCancelClick(Self);
end;
、彼らはまた、OnCloseQuery
を呼び出しますと、このコードは動作しません。その場合は、Davidの答えを使用してください。
4
その後、私が持っているものにもかかわらず、ウィンドウ枠の右上にある閉じるアイコンをクリックするとOnCloseQuery問い合わせが呼び出されない
procedure TForm1.WMSYSCommand(var MSG: TWMSysCommand);
begin
if MSG.CmdType = SC_CLOSE then
begin
//Closing from border icon
end;
inherited;
end;
0
メソッドを追加するには、フォームのパブリック宣言
procedure WMSysCommand(var MSG: TWMSysCommand); message WM_SYSCOMMAND;
にこれを追加上記に請求されている。 D2010を使用します。 FormCloseも呼び出されません。 Alt F4の場合、OnCloseQueryが呼び出され、CanCloseがtrueの場合はFormCloseが呼び出されます。
関連する問題
- 1. cellForRowAtIndexPathからtextFieldの境界線を取得するにはどうすればよいですか?
- 2. 見出しが境界線と同じレベルにある境界線を作成するにはどうすればよいですか?
- 3. 一連の線の境界線の矩形を見つけるにはどうすればよいですか?
- 4. Firefoxのシャドウから奇妙な境界線を削除するにはどうすればいいですか?
- 5. このようなCSSグラデーションやマウスオーバーの境界線を作るにはどうすればいいですか?
- 6. イメージビューではなくイメージに境界線を追加するにはどうすればよいですか?
- 7. SwiftでNavigationBarの境界線の色のみを削除するにはどうすればよいですか?
- 8. カスタムボタンの細い境界線を削除するにはどうすればよいですか?
- 9. UIViewでグラデーションの境界線を設定するにはどうすればよいですか?
- 10. CSSで特定の境界線を描画するにはどうすればよいですか?
- 11. winformでスプリッタコンテナバーセパレータの境界線幅を取得するにはどうすればよいですか?
- 12. ナビゲーションドロワーのアイテム間に境界線を追加するにはどうすればよいですか?
- 13. フィールドセット内の要素の境界線のみを削除するにはどうすればよいですか?
- 14. 市の境界線を含むopenlayersレイヤーを作成するにはどうすればよいですか?
- 15. フィールドセットの境界線の高さと幅を特定するにはどうすればよいですか?
- 16. Androidチェックボックスの境界線の太さを変更するにはどうすればよいですか?
- 17. ピクチャボックス(winform)の境界線の色を変更するにはどうすればよいですか?
- 18. SplitContainerの境界線の色を変更するにはどうすればよいですか?
- 19. matplotlibグラフの境界線のサイズを制限するにはどうすればよいですか?
- 20. Windowsフォームの境界線の太さと色を制御するにはどうすればよいですか?
- 21. タブヘッダーの境界線の色を変更するにはどうすればよいですか?
- 22. svgを含む背景イメージに境界線を追加するにはどうすればよいですか?
- 23. asp.net detailsview commandrowセルに境界線を追加するにはどうすればよいですか?
- 24. 上部に境界線を配置するにはどうすればよいですか?
- 25. 画像をdiv境界線に尊重するにはどうすればよいですか?ここ
- 26. mdに境界線を追加するにはどうすればよいですか?
- 27. QTextEdit境界をカスタマイズするにはどうすればよいですか?
- 28. この画像を境界線にするにはどうすればいいですか?
- 29. イメージにテキストを書き込んで、境界線の外に出ないようにするにはどうすればよいですか?
- 30. htmlページの中央に境界線を揃えるにはどうすればいいですか?
十字架のクリックを検出したい場合は、OnCloseを使用できません。それはOnCloseQueryを呼び出すだけです。 –
うーん、私は、OnCloseQueryは、フォームが閉じたときに常に起動すると思います。つまり、ユーザーがOKボタンまたはCancelボタンを押してもフォームを閉じると起動します。だからあなたのコードでは、ButtonCancelClickは常に "起動"されます...あなたはそれを避けるためにいくつかの追加のフラグを使用する必要があります。 – ain
@Marjan:私はちょうどチェックしました。 OnCloseQueryとOnCloseの両方が呼び出されます。私は何も期待していなかった。 –