下面是對話方塊程式架構代碼:
//// resource.h//// 控制項 ID.//#define IDD_MAIN 100#define IDC_OK 101#define IDC_CANCEL 102
//// main.h//#ifndef _MAIN_H#define _MAIN_H#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
//// dialogs.cpp//#include <commctrl.h>
#include "main.h"#include "resource.h"int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ InitCommonControls();
// 建立對話方塊. DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc); return 0;}
//// main.cpp//#include <windows.h>#include <windowsx.h>#include "main.h"#include "resource.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){ // // Add initializing code here // return TRUE;}void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify){ switch(id) { case IDC_OK: MessageBox(hwnd,TEXT("You clicked OK!"),TEXT("test2"),MB_OK); EndDialog(hwnd, id); break; case IDC_CANCEL: MessageBox(hwnd,TEXT("You clicked Cancel!"),TEXT("test2"),MB_OK); EndDialog(hwnd, id); break; default:break; }}void Main_OnClose(HWND hwnd){ EndDialog(hwnd, 0);}