Skip to main content

ダイアログ

🪟 1. ダイアログってなに?

ダイアログ(ダイアログボックス)は、
ユーザーに何かを聞いたり、設定を入力させたりするための小さなウィンドウです。

例:

  • ファイルを保存するときの「名前を付けて保存」画面
  • 「OK」「キャンセル」などを選ばせる小さなウィンドウ
  • 設定画面(オプション、プロパティ)

🔄 2. モーダル vs モードレス

種類

特徴

モーダル

他のウィンドウを操作できなくなる(完了するまで)

「保存しますか?」などの確認ダイアログ

モードレス

他のウィンドウも同時に操作できる

検索ウィンドウ、ツールパレット

💡 イメージ

  • モーダル:呼び出した人に返事を返すまで、他は触らせない!
  • モードレス:聞くけど、待たなくていいよ。他のことしててOK!

📦 3. よく使われる「コントロール(部品)」

🟢 ボタン類

名前

説明

Button(ボタン)

「OK」「キャンセル」など。押すと動作を実行。

CheckBox(チェックボックス)

ON/OFF の選択に使う。複数選択も可能。

RadioButton(ラジオボタン)

選択肢を1つだけ選ぶ(複数ある中で1つ)

🔵 入力系

名前

説明

Edit(エディット)

文字を入力するテキストボックス。

ComboBox(コンボボックス)

リストから選ぶ+入力もできる。

ListBox(リストボックス)

複数行の選択肢から選ぶ。複数選択可もあり。

🟣 表示系・他

名前

説明

Static(スタティック)

文字や画像を表示するだけのラベル。

GroupBox

コントロールをグループ化して囲む枠。

ProgressBar(プログレスバー)

処理の進行度を表示するバー。


🧑‍💻 4. 実際に使うとどうなる?

モーダルダイアログを表示するコード例(Win32 API)

DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, DialogProc);

モードレスダイアログを表示するコード例

CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hWnd, DialogProc);
ShowWindow(hDlg, SW_SHOW);

📌 5. まとめ

項目

ポイント

ダイアログ

ユーザーに質問や操作を促す小ウィンドウ

モーダル

他の操作をブロックして返事を待つ

モードレス

他の操作もOK、自由に使える

コントロール

ボタン、入力欄、リストなど部品のこと


🧁 もっとわかりやすく例えると…

ダイアログはコンビニのレジ
モーダルは「レジの人が“お会計終わるまで商品戻してね”って止める」状態。
モードレスは「セルフレジ。会計しながら他の人も動ける」状態です。