C++ でダイアログボックスを表示させるコードの書き方を教えてください。
ダイアログを表示するには、Windows API か Qt などのサードパーティライブラリを使用できます。
Windows API を使用したサンプルコードを以下に示します。
#include <windows.h>
int main() {
// 获取当前窗口句柄
HWND hwnd = GetForegroundWindow();
// 显示对话框
int result = MessageBox(hwnd, L"Hello World!", L"提示", MB_OKCANCEL);
if (result == IDOK) {
MessageBox(hwnd, L"你点击了确定按钮", L"提示", MB_OK);
} else if (result == IDCANCEL) {
MessageBox(hwnd, L"你点击了取消按钮", L"提示", MB_OK);
}
return 0;
}
上記のコードサンプルでは、MessageBox関数を使ってダイアログを表示しています。MessageBox関数の1番目の引数はウィンドウのハンドルで、GetForegroundWindow関数を使って現在のウィンドウのハンドルを取得できます。2番目の引数はダイアログに表示するテキスト内容、3番目の引数はダイアログのタイトル、4番目の引数はダイアログのボタン種類(たとえば、MB_OKは「OK」ボタン、MB_OKCANCELは「OK」と「キャンセル」ボタンを表します)。
Qt ライブラリを使用したサンプルコードを以下に示します。
#include <QMessageBox>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 显示对话框
QMessageBox::StandardButton reply = QMessageBox::question(nullptr, "提示", "Hello World!", QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::Yes) {
QMessageBox::information(nullptr, "提示", "你点击了Yes按钮");
} else if (reply == QMessageBox::No) {
QMessageBox::information(nullptr, "提示", "你点击了No按钮");
}
return app.exec();
}
QMessageBoxクラスは、Qtライブラリでダイアログボックスを作成します。question関数は「はい」または「いいえ」のボタンを持ち、ユーザーの選択を返します。information関数は単なる情報を表示します。