1)设计一个窗口类;
2)注册窗口类;
3)创建窗口;
4)显示及更新窗口。
第一步:
windows 已经为用户定义了一个完整的窗口类,用户只需要将各个属性填满既可以。窗口类是一个 结构体,其定义如下:
typedef struct _WNDCLASS{
UINT style//class style
WNDPROC lpfnWndProc
int cbClsExtra
int cbWndExtra
HANDLE hInstance
HICON hIcon
HCURSOR hCursor
HBRUSH hbrBackground
LPCTSTR lpszMenuName
LPCTSTR lpszClassName
}WNDCLASS
第二步:
用RegisterClass(&wndclass)来定义的窗口注册。
第三步:创建窗口
1)定义一个句柄,然后用CreateWindow()来为句柄赋值。函数用法参看MSDN。创建窗口必须依据已经声明并且已经注册的窗口类型来创建。
HWND CreateWindow(
LPCTSTR lpClassName,//定义的窗口类名
LPCTSTR lpWindowName,//窗口的名字,将会在标题栏上显示出来的
DWORD dwStyle,//窗口的风格(窗口的外观模式和功能按钮等等)
int x,//窗口初始位置ws_usedefault
int y,//同上
int nWidth,//窗口的宽度,可以用ws_usedefault
int nHeight,//窗口高度,可以用ws_usedefault
HWND hWndParent,//父窗口的句柄,单一窗口则设置为空
HMENU hMenu,//菜单的句柄,如果没有菜单则将这个句柄设置为空
HINSTANCE hInstance,//由系统进行分配标识
LPVOID lpParam//一般设置为空
)
第四步:显示窗口
调用ShowWindow()函数来显示窗口。
ShowWindow(
HWND hWnd,//要显示的窗口的句柄
int nCmdShow//显示窗口的模式,如:最大化最小花显示
)
第五步:更新窗口
在显示窗口的函数调用完毕以后调用UpdateWindow()来对窗体进行更新
UpdateWindow(hwnd)//这个函数没有并不影响消息产生。
//消息循环
MSG msg//定义了一个消息结构体变量
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg)
DispatchMessage(&msg)
}
/*
GetMessage(
LPMSG lpMsg,
//消息结构提的指针,无需对这个消息结构提的内部成员初始化,
//这个只需将定义的结构体的地址传到这里
HWND hWnd,
//窗口句柄,指明要获得的是那个窗口的消息,如果要获取所有窗口的消息则
//定义为NULL
UINT wMsgFilterMin,
//用来指定要从消息队列里边取得的最小值,
UINT wMsgFilterMax
//用来指定要从消息队列里边取得的最大值,
///////////////////////////////////////////////////////////////////////
//这两个参数用来限制GETMESSAGE 在消息队列里边的取值范围,//
//以去处调一些确定不感兴趣的消息 //
//if要从消息队列中所有的消息中提取的话则两个参数均设定为 //
//零 //
///////////////////////////////////////////////////////////////////////
)//从调用程序线程消息队列中取消息
*/
有了创建窗口的整个流程以后,现在就开始定义窗口过程,用WindowProc()
LRESULT CALLBACK WindowProc(/*函数名字可以更改,但是参数不允许改变*/
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)//参数和消息结构提的前四个参数相同,事实上系统在调用窗口过程函数
//的时候自动将消息结构体的前四个参数传递到窗口过程。
我们在使用Visual Studio 2015创建桌面应用的时候,最经常遇到的就是Winform和MFC了,那么如何在Visual Studio 2015中创建MFC窗体应用呢?下面我给大家分享一下。
工具/材料Visual Studio 2015
01首先我们打开Visual Studio 2015软件,点击顶部的文件菜单,然后选择新建下面的项目选项,如下图所示
02接下来在d出的新建项目界面中我们定位到Visual C++下面的MFC,然后选择右侧的MFC应用程序,如下图所示
03然后会打开MFC应用程序向导界面,我们选择应用程序类型为单个文档,如下图所示
04接着在复合文档支持界面中将复合文档支持类型选择为无,如下图所示
05接下来会进入文档模板属性界面,这里需要给文件扩展名起一个名字,大家根据自己的情况随便起即可,如下图所示
06然后就会进入数据库支持设置界面,由于这里并没有使用数据库,所以勾选无,如下图所示
07接下来就进入到用户界面功能选择页了,我们需要根据自己的实际情况选择使用哪些功能,如下图所示
08最后运行MFC应用程序,我们就会看到如下图所示的MFC窗体应用了,到这里在Visual Studio中创建MFC窗体应用程序就创建完了
对于使用新版vs2013的朋友们来说这方面的资料着实少,下面介绍下最基本的用vs2013创建一个熟知的标准MFC窗体。
方法/步骤
启动程序后,选择“文件>新建”菜单。
如图所示依次展开左边“已安装>模版>其他语言>Visual C++>MFC”,确认好文件保存路径和项目名后,就可以点击确定了。
点击确定后,会d出MFC的程序向导,依旧选择下一步。
设置方式如图中所示,设置完成后,就可以点击下一步了。
数据库支持无,继续点击下一步。
如图中所示,选择后,继续下一步。
这里默认,继续下一步。
这里可以更改类名,默认,点击完成即可。
完成之后,在“资源视图”,依次展开,双击后,就会看到窗体了。
”资源试图“,默认是关闭的,在这里可以显示出来。点击菜单栏上的“视图>其他窗口>资源视图”就可以了。
启动刚刚建立的MFC工程,正常启动后,那么MFC窗体就建立完成了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)