▼Windows Mobileプログラミングメモ▼
チェックボックスとラジオボタン

チェックボックスとラジオボタンを利用するプログラムを作成する。



ダイアログの準備
  1. ソリューションエクスプローラのリソースファイルを右クリックし、ポップアップ「追加→リソース」を選択。
  2. Dialogをダブルクリックし、ダイアログ(IDD_DIALOG1)を生成。
  3. OKボタン(IDOK)のIDを"IDC_SHOW"、Captionを"表示"に変更。
  4. キャンセルボタン(IDCANCEL)を削除。
  5. ツールボックスの「Check Box(IDC_CHECK1)」をドラッグ&ドロップでダイアログに配置。
  6. ツールボックスの「Radio Button(IDC_RADIO1)」をドラッグ&ドロップでダイアログに配置。
  7. ツールボックスの「Radio Button(IDC_RADIO2)」をドラッグ&ドロップでダイアログに配置。
ソースコードの作成
  1. ソリューションエクスプローラのソースファイルを右クリックし、ポップアップ「追加→クラス」を選択。
  2. main.cppという名前でファイル保存。
  3. ソースコードを以下のように編集。
    main.cpp
    #include <windows.h>
    #include <windowsx.h>
    #include "resource.h"
    #include <aygshell.h>
    #pragma comment(lib, "aygshell.lib") //関数の宣言 BOOL DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam); //メイン int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPWSTR lpCmdLine,int nShowCmd) { //ダイアログの生成 DialogBoxW(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DlgProc); return 0; } //ダイアログのイベント処理 BOOL DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam) { switch(uMsg) { //初期化 case WM_INITDIALOG:{ //フルスクリーン SHINITDLGINFO sidi={ SHIDIM_FLAGS,hDlg, SHIDIF_DONEBUTTON|SHIDIF_SIZEDLGFULLSCREEN|SHIDIF_EMPTYMENU}; SHInitDialog(&sidi); } //チェックボックスの状態指定 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK1),BST_CHECKED); //ラジオボタンの状態指定 Button_SetCheck(GetDlgItem(hDlg,IDC_RADIO1),BST_CHECKED); break; //コマンド case WM_COMMAND: switch(LOWORD(wParam)) { //表示ボタン case IDC_SHOW: //チェックボックスの状態取得 if (Button_GetCheck(GetDlgItem(hDlg,IDC_CHECK1))==BST_CHECKED) { MessageBoxW(NULL,_T("チェックボックスはON。"),_T(""),0); } else { MessageBoxW(NULL,_T("チェックボックスはOFF。"),_T(""),0); } //ラジオボタンの状態取得 if(Button_GetCheck(GetDlgItem(hDlg,IDC_RADIO1))==BST_CHECKED) { MessageBoxW(NULL,_T("ラジオボタン1はON。"),_T(""),0); } else if(Button_GetCheck(GetDlgItem(hDlg,IDC_RADIO2))==BST_CHECKED) { MessageBoxW(NULL,_T("ラジオボタン2はON。"),_T(""),0); } break; //OKボタン case IDOK: EndDialog(hDlg,LOWORD(wParam)); break; } break; //クローズ case WM_CLOSE: DestroyWindow(hDlg); break; } return FALSE; }



−戻る−