1.プロジェクト作成及びプロパティ設定
「新しいプロジェクトの作成」で、「Windowsデスクトップアプリケーション」を選択。
「プロフェクト」⇒「プロパティ」⇒「詳細」⇒「文字セット」をUnicodeからマルチバイトへ変更
wWinMain、MyRegisterClass、InitInstance、WndProc、About
の関数を持ったcppファイルが出来上がるが、このうちwWinMain以外を全て削除。
関数の外も#include文以外全て削除し、#include文の下に以下を追加
(作成するダイアログのCallback関数名をDlgWndProcとした)
BOOL CALLBACK DlgWndProc(HWND, UINT, WPARAM, LPARAM);
また、wWinMainの中は以下に書き換える。
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DlgWndProc);
return 0;
2.ダイアログ作成
ソリューションエクスプローラーの中の「リソースファイル」を右クリック>[追加]>[リソース]を選び「リソースの追加」ダイアログで、「Dialog」を選択し「新規作成」
3.要素追加
ボタンを追加する場合、「ツールボックス」の中の「Button」を選択して、ダイアログエディタの中のダイアログの上でクリックする。
4.ダイアログプロシージャを書く
メインのcppファイルに戻って、ダイアログのプロシージャを書く。
追加したボタンを押したときの処理を書きたい場合はcase IDC_BUTTON1:のところに書く。
wWinMainの下に以下を追加
BOOL CALLBACK DlgWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) {
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
EndDialog(hWnd, IDOK);
return TRUE;
case IDCANCEL:
EndDialog(hWnd, IDCANCEL);
return TRUE;
case IDC_BUTTON1:
MessageBox(NULL, “test1”, “test2”, MB_OK);
break;
}
return FALSE;
}
return FALSE;
}
その他
プロジェクト作成時に一度そのままビルドした場合、ビルドでエラーが出る場合がある。その時ときはクリーンしてビルド。
コメント