天天看點

Win32建立對話框

1.右鍵點選Header File也就是頭檔案的檔案夾,選擇添加檔案到目 錄,

在彈出的工程目錄視窗中找到resource.h然後點選确定添加

2.Main.cpp

WinMain是程式的入口點,打開Main.cpp添加缺少的頭檔案 缺哪兒補哪兒 

     #include "stdafx.h"

     #include "resource.h"

     #include "MainDlg.h"

     #include <COMMCTRL.H> 

     int APIENTRY WinMain(HINSTANCE hInstance,

                      HINSTANCE hPrevInstance,

                      LPSTR     lpCmdLine,

                      int       nCmdShow)

     {    // TODO: Place code here.

          DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);

          return 0;

     }

【4】下面我們建立一個MainDlg.h 我們在這裡聲明我們要用的函數

  #ifndef _MAIN_K

  #define _MAIN_K

  #include <windows.h>

  BOOL WINAPI Main_Proc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);

  BOOL Main_OnInitDialog(HWND hwnd,HWND hwndFocus,LPARAM lParam);

  void Main_OnCommand(HWND hwnd,int id,HWND hwndCtl, UINT codeNotify);

  void Main_OnClose(HWND hwnd); 

  #endif

【5】繼續建立一個MainDlg.cpp

    MainDlg全部代碼:

 #include "stdafx.h"

 #include <windows.h>

 #include <windowsx.h>

 #include "resource.h"

 #include "MainDlg.h"

   BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

 { 

    switch(uMsg) 

    {

          HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);

         HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);

   HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);

     }       return FALSE; }

   BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)

 {      return TRUE; }

   void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

 {

      switch(id)

     {

          case IDC_OK:      //記得對話框IDC_OK确定按鈕的ID

   { 

    MessageBox(hwnd,TEXT("My Dialog AppWizard"),TEXT("提示"),MB_OK);

   } 

         break;

         default:

   break;

     }

 }

   void Main_OnClose(HWND hwnd)

 {

      EndDialog(hwnd, 0);

 }