天天看点

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);

 }