ダイアログ
🪟 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、自由に使える |
コントロール | ボタン、入力欄、リストなど部品のこと |
🧁 もっとわかりやすく例えると…
ダイアログはコンビニのレジ。
モーダルは「レジの人が“お会計終わるまで商品戻してね”って止める」状態。
モードレスは「セルフレジ。会計しながら他の人も動ける」状態です。
No Comments