最近突然发现每天写点教程对自己的学习很有帮助,所以以后每天都尽量写点东西吧。关于Win32工程向导,也许还有很多人不知道这是个什么玩意,其实很简单,每次你创建工程文件的时候VC总会让你选择一种是win32项目还是控制台程序等等,这就是向导,而今天我要做的就是一个简单的窗体向导,使用这个向导以后,你可以很方便的创建一个窗体,而不用每次写程序的时候都重新写一大堆代码。
第一步:使用管理员身份打开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 HINSTANCE hPrevInstance,
4 LPSTR lpCmdLine,
5 int nCmdShow)
6 {
7 // TODO: Place code here.
8 return 0;
9 }
要在程序运行时显示创建的对话框,还需将如下字段添加到WinMain 函数return语句之前:
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);
#include “resource.h”
同时还要添加主窗口函数Main_Proc(注意这儿定义的函数名要和上述DialogBox中使用的第四个参数名一致,否则会报错),以及初始化函数Main_OnInitDialog,退出函数Main_OnClose,和按钮事件响应函数Main_OnCommand。 下面直接将这段代码复制过去即可。
1 //初始化处理函数
2 BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
3 {
4 return TRUE;
5 }
6 //按钮动作响应函数
7 void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
8 {
9
10 }
11 //退出信息处理函数
12 void Main_OnClose(HWND hwnd)
13 {
14 EndDialog(hwnd, 0);
15 }
16 //主窗口信息处理函数
17 //WM_COMMAND - 处理应用程序菜单;WM_PAINT - 绘制主窗口;WM_DESTORY - 发送退出信息并返回
18 BOOL WINAPI Main_Proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
19 {
20 switch(uMsg)
21 {
22 HANDLE_MSG(hwnd, WM_INITDIALOG, Main_OnInitDialog);//消息分流器,定义在<windowsx.h>中
23 HANDLE_MSG(hwnd, WM_COMMAND, Main_OnCommand);
24 HANDLE_MSG(hwnd,WM_CLOSE, Main_OnClose);
25 }
26 return FALSE;
27 }
注意:因为Main_Proc 函数中使用了消息分流器HANDLE_MSG,此宏定义在windowsx.h中,所以要在文件头部添加:
#include <windowsx.h>
第四步: 编辑头文件
新建dialog.h并添加到工程,在文件中添加如下字段声明函数:
1 //函数声明
2 BOOL WINAPI Main_Proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
3 BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
4 void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
5 void Main_OnClose(HWND hwnd);
同时在【工程名.cpp】头部添加(我的事DialogApp.cpp)
#include "dialog.h"
打开VC++6.0,依次选择【文件】【新建】【工程】【Custom AppWizard】
再次打开 VC++6.0,(不再需要管理员权限了)选择【文件】【新建】你就会发现你新建的工程向导已经出现在列表里面了。