自定义对话框工程向导制作(VC6)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
转自如鹏网
第一步:使用管理员身份打开VC,(为什么要用管理员身份呢?这是因为我的电脑是win7的,而且UAC 设置并没有关,VC又是安装在C盘,所以待会儿写入模板的时候需要管理员权限才能写入C盘的VC安装目录下。XP好像不需要用管理员权限打开)打开后,点击【文件】【新建】”,弹出一个对话框,选择【Win32Application】,在右上角输入工程名,选择你的工程保存的位置,点击【确定】后弹出一个对话框,选择【一个简单的Win32程序】再点击【完成】,再在弹出对话框点【确定】即可。如图:
第二步:再次点击【文件】【新建】弹出对话框,选择【资源脚本】,输入文件名点击【确定】新建完成。弹出对话框如下图二。
上图中的文件名为rescource为我的拼写错误,我重新建了一个,下面我已经改正文件名为resource了!
对准上面对话框中的resource.rc 点击【右键】【插入】,弹出对话框,选中【dialog】点击【新建】,一个对话框窗体就创建完成了。
如图。
对准对话框主窗体内【双,弹出对话框的属性框,将原来的ID【IDD_DIALOG1】修改为【IDD_MAIN】后点击【确定】。
然后自己随便画些按钮或者控件上去,这个就是你以后使用该向导创建的窗体的样子了。另外在更多样式选项卡选择居中,你的窗体出现就会在屏幕中间哦!
第三步:编辑cpp文件定制自己的个性模板
首先在工作区【FileView】选项卡中双击【工程名.cpp】文件(我这里是DialogApp.cpp,只因为刚才新建的工程名为DialogApp.cpp)编辑,可以看到如下字段
1.#include"stdafx.h"
2.intAPIENTRY WinMain(HINSTANCE hInstance,
3.
4.
5.HINSTANCE hPrevInstance,
6.
7. LPSTR
8. lpCmdLine,
9.
10. int
11.nCmdShow)
12.{
13. // TODO: Place code
14.here.
15. return0;
16.}
复制代码
要在程序运行时显示创建的对话框,还需将如下字段添加到WinMain 函数return语句之前:DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);
这儿的IDD_MAIN为前面设置的创建对话框资源Dialog的ID
注意:要使用创建的自定义资源,需要将创建过程生成的resource.h引入(直接使用会报错),所以还需要在文件头部添加如下代码:
#include “resource.h”
同时还要添加主窗口函数Main_Proc(注意这儿定义的函数名要和上述DialogBox中使用的第四个参数名一致,否则会报错),以及初始化函数Main_OnInitDialog,退出函数Main_OnClose,和按钮事件响应函数Main_OnCommand。下面直接将这段代码复制过去即可。
1.//初始化处理函数
2.BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM
3.lParam)
4.{
5. return
6.TRUE;
7.}
8.//按钮动作响应函数
9.void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl,
10.UINT codeNotify)
11.{
12.
13.
14.}
15.//退出信息处理函数
16.void Main_OnClose(HWND hwnd)
17.{
18.
19.EndDialog(hwnd, 0);
20.}
21.//主窗口信息处理函数
22.//WM_COMMAND - 处理应用程序菜单;WM_PAINT -
23.绘制主窗口;WM_DESTORY - 发送退出信息并返回
24.BOOL WINAPI Main_Proc(HWND hwnd, UINT uMsg,
25.WPARAM wParam, LPARAM lParam)
26.{
27. switch(uMsg)
28.
29. {
30. HANDLE_MSG(hwnd,
31.WM_INITDIALOG, Main_OnInitDialog);//消息分流器,定义在
中
32.
33. HANDLE_MSG(hwnd, WM_COMMAND,
34.Main_OnCommand);
35.
36. HANDLE_MSG(hwnd,WM_CLOSE, Main_OnClose);
37.
38.}
39. return FALSE;
40.}
复制代码
注意:因为Main_Proc 函数中使用了消息分流器HANDLE_MSG,此宏定义在windowsx.h中,所以要在文件头部添加:
1.#include
复制代码
第四步:编辑头文件
新建dialog.h并添加到工程,在文件中添加如下字段声明函数:
1.//函数声明
2.BOOL WINAPI Main_Proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM
3.lParam);
4.BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM
5.lParam);
6.void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT
7.codeNotify);
8.void Main_OnClose(HWND hwnd);
复制代码
同时在【工程名.cpp】头部添加(我的事DialogApp.cpp)
#include "dialog.h"
第五步:创建工程向导
打开VC++6.0,依次选择【文件】【新建】【工程】【Custom AppWizard】
在右侧【工程名称】框中输入工程名,【位置】框中选择储存路径,选择【确定】
在弹出菜单选择【一个已存在的工程】,输入框中表示显示在工程向导中的名字,点击【下一步】,选择刚才创建Win32工程的dsp文件,就是前四步创建的"DialogApp.dsp"点击【完成】。