VC精华教程:MFC入门系列(三)
2007-03-22 21:31:32 来源:WEB开发网核心提示: 资源编辑器创建的资源会自动的生成resource.h这个头文件,我们刚才也讲了,VC精华教程:MFC入门系列(三)(2),这个头文件是资源文件和源代码文件的一个桥梁,所以我们在源代码例一定要#include “resource.h”,我们在创建子菜单的时候会发现,我
资源编辑器创建的资源会自动的生成resource.h这个头文件,我们刚才也讲了,这个头文件是资源文件和源代码文件的一个桥梁,所以我们在源代码例一定要#include “resource.h”,我们在创建子菜单的时候会发现,有一个资源ID号要你填写(自己起一个名字,不要重复),那么这个资源号就是我们在源代码里要引用的。
我们已经添加了菜单,我们运行程序,发现菜单并没有出现,因为我们的菜单并没有和我们的某一个窗体相关联。那么如何关联?
我们回忆我们在写SDK程序是我们是如何加菜单的。我们使用CreateWindow这个API函数来创建窗体,同时也关联菜单(当然,也可以在注册类里关联),我们知道MFC就是对API的封装后,CreateWindow当然也被封装了,他被封装成了很多类的Create方法,其中就有CFrameWnd。我们在Sample 类里继承了CFrameWnd,我们右键点击 Sample 构造函数里的Create方法,在弹出的菜单里点击Goto Define of Create,在弹出的菜单点确定。我们来到了Create方法的定义
BOOL Create(LPCTSTR lpszClassName,//注册类,MFC将注册类封装,我们填写NULL
LPCTSTR lpszWindowName,//窗体名,窗体标题
DWORD dwStyle = WS_OVERLAPPEDWINDOW,//窗体风格
const RECT& rect = rectDefault,//窗体的矩形区域
CWnd* pParentWnd = NULL, // 父窗体指针
LPCTSTR lpszMenuName = NULL, //窗体的菜单
DWORD dwExStyle = 0,//窗体扩展风格
CCreateContext* pContext = NULL);//框架窗体的视图和文档信息,一般填NULL
那我们看到前面两个参数,没有等号,说明他们是必选的参数,后面是可选的,在可选的参数里面有一个窗体的菜单,他的类型是LPCTSTR,我们看这个类型有一个方法,分开看,首先L是long ,P是指针,CT是Const常量 ,STR是字符串,也就是一个指向常量字符串的长指针。我们打开MSDN看这个方法的参数如何填写,在MSDN的索引中添Create回车,在弹出的主题中选择CFrameWnd::Create,我们找到菜单这个参数的解释
更多精彩
赞助商链接