Vcl.StdCtrls.TButton.ModalResult
Delphi
property ModalResult;
C++
__property ModalResult = {default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | Vcl.StdCtrls.pas Vcl.StdCtrls.hpp |
Vcl.StdCtrls | TButton |
説明
ボタンのクリックでその(モーダルな)親フォームが閉じられるかどうか、およびどう閉じられるかを指定します。
Vcl.StdCtrls.TButton.ModalResult は Vcl.StdCtrls.TCustomButton.ModalResult を継承しています。以下の内容はすべて Vcl.StdCtrls.TCustomButton.ModalResult を参照しています。
ボタンのクリックでその(モーダルな)親フォームが閉じられるかどうか、およびどう閉じられるかを指定します。
ボタン コンポーネントの ModalResult プロパティを設定することにより、ボタンのクリックでモーダル フォームを簡単に閉じることができます。ボタンがクリックされると、その親フォームの ModalResult プロパティが、ボタンの ModalResult プロパティと同じ値に設定されます。
たとえば、ダイアログ ボックスに[OK]ボタンと[キャンセル]ボタンがある場合は、それらの ModalResult プロパティを設計時にそれぞれ mrOk および mrCancel に設定できます。実行時には、[OK]ボタンをクリックするとダイアログの ModalResult プロパティが mrOk に変更され、[キャンセル]ボタンをクリックするとダイアログの ModalResult プロパティが mrCancel に変更されます。それ以上の処理が必要な場合を除いて、ボタンには OnClick イベント ハンドラは必要ありません。
XE2 リリースでの ModalResult 値の変更点
XE2 リリースでは、ModalResult の新しい値が 3 つ導入されました。つまり、mrContinue、mrHelp、mrTryAgain です。
さらに、XE2 では、ModalResult の既存の値が 4 つ変更されました。TButton の ModalResult の 4 つの値(mrClose、mrAll、mrNoToAll、mrYesToAll)のいずれかをアプリケーションで使用している場合は、コードを変更する必要があります。これらの値は .dfm ファイルに数値として格納されるため、プロジェクトを XE2 に移行すると値が変わります。値は次のように変更されました。
- XE2 より前:
- mrClose = 11
- mrAll = 8
- mrNoToAll = 9
- mrYesToAll = 10
- XE2:
- mrClose = 8
- mrAll = 12
- mrNoToAll = 13
- mrYesToAll = 14
ModalResult プロパティ用に定義されている TModalResult 型定数と、XE2 リリースおよび XE リリース(つまり XE2 より前のあらゆるリリース)でのそれらの値の一覧を次の表に示します。
定数 | 値 | 意味 | サポートしているリリース |
---|---|---|---|
mrNone |
0 |
なし。ユーザーが終了する前のデフォルト値として使用されます。 |
すべてのリリース |
mrOk |
idOK = 1 |
ユーザーは[OK]ボタンで終了しました。 |
すべてのリリース |
mrCancel |
idCancel = 2 |
ユーザーは[キャンセル]ボタンで終了しました。 |
すべてのリリース |
mrAbort |
idAbort = 3 |
ユーザーは[中止]ボタンで終了しました。 |
すべてのリリース |
mrRetry |
idRetry = 4 |
ユーザーは[再試行]ボタンで終了しました。 |
すべてのリリース |
mrIgnore |
idIgnore = 5 |
ユーザーは[無視]ボタンで終了しました。 |
すべてのリリース |
mrYes |
idYes = 6 |
ユーザーは[はい]ボタンで終了しました。 |
すべてのリリース |
mrNo |
idNo = 7 |
ユーザーは[いいえ]ボタンで終了しました。 |
すべてのリリース |
mrClose |
idClose = 8 |
ユーザーは[閉じる]ボタンで終了しました。 |
|
mrHelp |
idHelp = 9 |
ユーザーは[ヘルプ]ボタンで終了しました。 |
XE2 で新規導入 |
mrTryAgain |
idTryAgain = 10 |
ユーザーは[やり直し]ボタンで終了しました。 |
XE2 で新規導入 |
mrContinue |
idContinue = 11 |
ユーザーは[続行]ボタンで終了しました。 |
XE2 で新規導入 |
mrAll |
mrContinue + 1(12 つまり $C) |
ユーザーは[すべて]ボタンで終了しました。 |
|
mrNoToAll |
mrAll + 1(13 つまり $D) |
ユーザーは[すべていいえ]ボタンで終了しました。 |
|
mrYesToAll |
mrNoToAll + 1(14 つまり $E) |
ユーザーは[すべてはい]ボタンで終了しました。 |
|
詳細な情報と問題の解決策については、http://www.bobswart.nl/Weblog/Blog.aspx?RootId=5:5029 で公開されている「XE2 values of mrAll, mrNoToAll, mrYesToAll and mrClose」(XE2 での mrAll、mrNoToAll、mrYesToAll、mrClose の値)を参照してください。