サンプルプログラム2−2
            
            
            2-2)sample_202(Dialog sample プログラム) 
            Dialog アプリのプログラムのサンプルプログラムです。@がソース・プログラムです、注意する箇所にはコメント入れています。 
            リソースは、リソースエディタで作成します。(フリーソフトの利用、4)リソーエディター(RisohEditor)参照)Aが作成したリソースです。 
            コンパイル結果がBで、実行結果がCとなります。 
             
            @ソースプログラム 
            // -------------------------------------------------
// dialog.c
//    ダイアログプログラム テンプレート
//               2022/03/18 Kimio Nakamura
// -------------------------------------------------
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
// ------ prototype ------------------------
INT_PTR CALLBACK DialogProc( HWND , UINT , WPARAM  ,LPARAM );
BOOL OnInitDialog(HWND  , HWND  , LPARAM );
void OnCommand( HWND , int  , HWND  , UINT );
// =========================================================================
//   Name     : int WINAPI WinMain( HINSTANCE , HINSTANCE , LPSTR , INT )
//   Usage    : WinMain 関数  DialogBoxマクロでダイアログボックスを作成する。
//   Parameter: インスタンス、ダイアログリソース名、親ウインドウ:NULL、
//                                                ダイアログプロシージャ名
//   Return   : 0
// =========================================================================
    
int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance, 
                                    LPSTR lpCmdLine, INT nCmdShow)
{
    InitCommonControls();
    DialogBox(hInstance , MAKEINTRESOURCE(1), NULL, DialogProc);
    return 0;
}
// =========================================================================
//   Name     : INT_PTR CALLBACK DialogProc( HWND , UINT , WPARAM  ,LPARAM )
//   Usage    : ダイアログ・プロシージャ 関数
//   Parameter: 
//   Return   : 
// =========================================================================
INT_PTR CALLBACK DialogProc( HWND hwnd , UINT uMsg , 
                                    WPARAM wParam ,LPARAM lParam)
{
    switch(uMsg){
        HANDLE_MSG( hwnd , WM_INITDIALOG , OnInitDialog);
        HANDLE_MSG( hwnd , WM_COMMAND , OnCommand);
    
    }
    return 0;
}
// =========================================================================
//   Name     : BOOL OnInitDialog(HWND , HWND , LPARAM )
//   Usage    : ダイアログ、初期化
//   Parameter: 
//   Return   : 
// =========================================================================
BOOL OnInitDialog(HWND hwnd , HWND hwndFocus , LPARAM lParam)
{
    return TRUE;
}
// =========================================================================
//   Name     : void OnCommand( HWND , int , HWND  , UINT )
//   Usage    : ダイアログ内のコマンド処理
//   Parameter: 
//   Return   : 
// =========================================================================
void OnCommand( HWND hwnd , int id , HWND hwndCtl , UINT codeNotify)
{
    switch (id){
        case IDOK:
        
        case IDCANCEL:
        
            EndDialog( hwnd , id);
            break;
    }
}
            Aリソース 
            // sample_202_res.rc
// This file is automatically generated by RisohEditor.
// † <-- This dagger helps UTF-8 detection.
#define APSTUDIO_HIDDEN_SYMBOLS
#include <windows.h>
#include <commctrl.h>
#undef APSTUDIO_HIDDEN_SYMBOLS
#pragma code_page(65001) // UTF-8
//////////////////////////////////////////////////////////////////////////////
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
//////////////////////////////////////////////////////////////////////////////
// RT_DIALOG
1 DIALOG 0, 0, 215, 135
CAPTION "DialogSkelton"
STYLE DS_CENTER | DS_MODALFRAME | WS_POPUPWINDOW | WS_CAPTION
FONT 9, "MS UI Gothic"
{
    DEFPUSHBUTTON "OK", IDOK, 35, 115, 60, 14
    PUSHBUTTON "キャンセル", IDCANCEL, 115, 115, 60, 14
}
//////////////////////////////////////////////////////////////////////////////
// TEXTINCLUDE
#ifdef APSTUDIO_INVOKED
1 TEXTINCLUDE
BEGIN
    "resource.h\0"
END
2 TEXTINCLUDE
BEGIN
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include <windows.h>\r\n"
    "#include <commctrl.h>\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END
3 TEXTINCLUDE
BEGIN
    "\r\n"
    "\0"
END
#endif    // APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////////////////////
            Bコンパイル結果 
              
             
            C実行結果 
              
             
             
                     
             |