メッセージボックスを表示します。
値 | OK | はい | いいえ | キャンセル | 中止 | 再試行 | 再実行 | 続行 | 無視 |
---|---|---|---|---|---|---|---|---|---|
tpmbOK | ○ | × | × | × | × | × | × | × | × |
tpmbOKCancel | ○ | × | × | ○ | × | × | × | × | × |
tpmbYesNo | × | ○ | ○ | × | × | × | × | × | × |
tpmbYesNoCancel | × | ○ | ○ | ○ | × | × | × | × | × |
tpmbRetryCancel | × | × | × | ○ | × | ○ | × | × | × |
tpmbCancelTryContinue | × | × | × | ○ | × | × | ○ | ○ | × |
tpmbAbortRetryIgnore | × | × | × | × | ○ | ○ | × | × | ○ |
値 | アイコン |
---|---|
tpmbIconExclamation, tpmbIconWarning | 感嘆符 |
tpmbIconInformation, tpmbIconAsterisk | 吹き出しに "i" |
tpmbIconQuestion | 疑問符 |
tpmbIconStop, tpmbIconError, tpmbIconHand | 停止マーク |
値 | 既定のプッシュボタン |
---|---|
tpmbDefButton1 | 最初のボタン(MB_DEFBUTTON2、MB_DEFBUTTON3、MB_DEFBUTTON4 のいずれも指定されていない場合の規定値) |
tpmbDefButton2 | 2番目のボタン |
tpmbDefButton3 | 3番目のボタン |
tpmbDefButton4 | 4番目のボタン |
値 | モーダル状態 |
---|---|
tpmbApplModal | モーダルで表示されます。表示中は他のウィンドウは操作できません。 |
tpmbSystemModal | tpmbApplModalと同じですが、ウィンドウが非アクティブな状態でも、ほかのウィンドウの前面に表示されます。 |
tpmbTaskModal | 基本的にtpmbApplModalと同じです。 hwndが 0 の場合、現在のスレッドに所属するすべてのトップレベルウィンドウが無効になります。 呼び出し側のアプリケーションまたはライブラリが有効なウィンドウハンドルを持っておらず、かつ他のスレッドを中断せずに現在のスレッドの他のウィンドウへの入力を禁止したいときに、このフラグを使用してください。 |
値 | 意味 |
---|---|
tpmbDefaultDesktopOnly | Windows NT/2000では、対話型のウィンドウステーションで、システムが既定のデスクトップにのみメッセージボックスを表示すること以外は、tpmbServiceNotification と同じです。 Windows NT 4.0 以前では、現在の入力デスクトップが既定のデスクトップではない場合、関数は失敗します。 Windows 2000では、現在の入力デスクトップが既定のデスクトップではない場合、ユーザーが既定のデスクトップへ切り替えるまで、この関数は制御を返しません。 Windows 95/98では、このフラグは何もしません。 |
tpmbRight | テキストを右寄せします。 |
tpmbRTLReading | メッセージとキャプションの各テキストを右から左へ表示します。ヘブライ語やアラビア語をサポートしているシステムで有効です。 |
tpmbSetForeground | メッセージボックスをフォアグラウンドウィンドウにします。 |
tpmbTopMost | メッセージボックスを最前面ウィンドウとして作成します。 |
tpmbServiceNotification | 他のデスクトップにメッセージボックスを表示できます。 このフラグをセットするときは、 hwndに0を指定してください。 Windows NT/2000では、呼び出し側がユーザーへイベントを通知するサービスである場合に指定します。 どのユーザーもコンピュータにログオンしていない場合でも、現在のアクティブなデスクトップにメッセージボックスが表示されます。 Terminal Servicesでは、呼び出し側のスレッドが偽装トークンを備えている場合、この関数はメッセージボックスを、偽装トークン内で指定されているセッションへリダイレクトします。 |
tpmbHelp | メッセージボックスに[ヘルプ]ボタンを追加します。 ユーザーが[ヘルプ]ボタンをクリックするか F1 キーを押すと、システムはオーナーへ WM_HELP メッセージを送信します。 このメッセージを受け取るには、相応の処理(Windowsメッセージループ等)が必要です。 |
押されたボタンを表す整数値を返します。 戻り値と以下の定数を整数値で比較してください。
普通のアプリケーションダイアログを表示します。
System.messageBox(-1, "こんにちは。", "挨拶");
「はい」「いいえ」「キャンセル」から選択させるダイアログです。 疑問符アイコンが表示されます。 選択結果は chosen に格納されます。
var chosen = System.messageBox(-1, "吉里吉里を終了します。\n設定を保存しますか?", "終了時確認", tpmbYesNoCancel | tpmbIconQuestion); switch (chosen) { case tppbYes: // 「はい」ボタンが押されたときの処理 break; case tppbNo: // 「いいえ」ボタンが押されたときの処理 break; case tppbCancel: // 「キャンセル」ボタンが押されたときの処理 break; default: // ありえない break; }
二つのウィンドウに対して、モーダル状態を制御してメッセージボックスを表示します。
var win1 = new Window(); var win2 = new Window(); win1.caption = "ウィンドウ1"; win2.caption = "ウィンドウ2"; win1.visible = win2.visible = true; System.messageBox(win1.HWND, "ウィンドウ1は操作できません。\nウィンドウ2は操作できます。", "ウィンドウ1がオーナ"); System.messageBox(win2.HWND, "ウィンドウ2は操作できません。\nウィンドウ1は操作できます。", "ウィンドウ2がオーナ"); System.messageBox(-1, "ウィンドウ1もウィンドウ2も操作できません。", "アプリケーションウィンドウがオーナ"); System.messageBox(0, "ウィンドウ1もウィンドウ2も操作できます。", "オーナなし"); System.messageBox(0, "ウィンドウ1もウィンドウ2も操作できます。\n非アクティブでも前面に表示されます。", "常に前面に表示", tpmbSystemModal); win1.close(); win2.close();