关于VS的MFC应用程序向导

一直感觉从空项目建立起MFC程序是最干净的,但是这样建立的窗口界面是XP风格的,经过反复对比试验,发现是由于在stdafx.h文件中缺少了一点内容:“#ifdef _UNICODE #if defined _M_IX86...”,而且需要把项目配置属性设置成“使用Unicode字符集”,或者注释掉#ifdef _UNICODE,就能使用“多字节字符集”。

试验过程更让我感觉MFC应用程序向导不合理,比如按如下流程:应用程序类型选择“基于对话框”,用户界面功能全部取消,高级功能全部取消,这样建立的界面就是XP风格的,也就是没有上面的代码;而如果在高级功能那儿仅仅选上“公用控件清单”结果就是Win7风格界面,而选择公共控件清单应该只会在CWinApp的InitInstance函数里加上一段代码而已,不应该对stdafx.h有什么影响。

从空项目新建的话,建立的项目里面什么都没有,当然最好仿照标准格式,建立一个stdafx.h文件。最后别忘了前面那段缺少的代码,还有第一句#pragma once防止重复包含最好所有.h文件都加上。

空项目建立MFC应用是可取的,毕竟向导只是给初始化一些代码以及几个基本配置。

此时资源视图是空的,只要选择菜单“项目->添加资源..”然后取消就可以创建.rc文件了,也就可以添加窗口和按钮等,同时自动创建resource.h文件,记录一些控件的ID等。

比如添加Dialog,要添加控制代码手动建立.h和.cpp文件,或者利用菜单“项目->类向导...”自动生成,可以继承CDialog(Ex),然后在Dlg.cpp文件定义这些函数。建立了界面当然还需要主程序文件,继承自CWinApp(ex)。这样窗口界面就能运行了。

最后别忘了配置项目属性,“常规”可以选择“在共享DLL中使用MFC”、选择编码等,“链接器->系统->子系统”则必须选择“窗口(..)”,否则MFC没有main函数无法找到程序入口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值