1.建立WIN32 工程 打开VC++6.0,依次选择【File】—【New】 在弹出窗口选择【Projects】选项卡左侧选择【Win32 Application】,右侧【Project name】框中输入工程名DQ_Frame_App,【Location】框中选择储存路径,点击【OK】。在弹出菜单选择【A simple win32 application】,然后点击【Finish】。 接着点击【OK】 2.创建可视化对话框窗口资源 依次选择【File】—【New】,在弹出窗口选择【Files】选项卡,左侧选择【Resource Script】,右侧选中【Add to project】框,【File】中输入资源名DQ_Resoure,【Location】框中选择储存路径,点击【OK】。 在VC窗口编辑区可看见DQ_Resoure,右键选择【Insert】, 在弹出对话框中选择【Dialog】,点击【New】
在绘制对话框右键选择【Properties】。 在弹出框中更改【ID】为IDD_DQ。 然后回车,保存文件。 3.编辑cpp 文件定制个性模板 首先在工作区【FileView】选项卡中双击【DQ_Frame_App.cpp】文件编辑,可以看到如下字段 #include "stdafx.h" int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. return 0; } 要在程序运行时显示创建的对话框,还需将如下字段添加到WinMain 函数return 语句之前: DialogBox(hInstance, MAKEINTRESOURCE(IDD_DQ), NULL, Main_Proc); 这儿的IDD_DQ 为前面设置的创建对话框资源Dialog 的ID 注意:要使用创建的自定义资源,需要将创建过程生成的DQ_Resource.h 引入(直接使用会报错),所以还需要在文件头部添加如下代码: #include “DQ_Resource.h” 同时还要添加主窗口函数Main_Proc,以及初始化函Main_OnInitDialog,退出函数Main_OnClose,和按钮事件响应函数Main_OnCommand。各函数定义如下: //初始化处理函数 BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { return TRUE; } //按钮动作响应函数 void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { } //退出信息处理函数 void Main_OnClose(HWND hwnd) { EndDialog(hwnd, 0); } //主窗口信息处理函数 //WM_COMMAND ‐ 处理应用程序菜单; //WM_PAINT ‐ 绘制主窗口; //WM_DESTORY ‐ 发送退出信息并返回 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; } 注意:因为Main_Proc 函数中使用了消息分流器HANDLE_MSG,此宏定义在windowsx.h中,所以要在文件头部添加: #include <windowsx.h> 4.编辑头文件 实现函数声明,若上述四个函数顺序是Main_OnInitDialog,Main_OnCommand,Main_OnClose 三个函数在Main_Proc 之前,且这四个函数在WinMain 之前可以跳过此步骤因为C 语言函数必须先声明再使用,除非被调函数在主调函数前面! 新建DQ_Dialog.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); 同时在【工程名.cpp】头部添加: #include "DQ_Dialog.h" |