现在已经不太使用mfc这种复杂的窗体开发了,但是既然上课的老师热衷把mfc作为c++教学的内容,那么我就微微记录一下mfc框架的学习步骤吧,怎么说mfc学习对了解windwos系统机制还是很有作用的。
1.mfc第一个程序
mfc程序的创建首先是一个windows Application,其次,程序运行在int WinMain(HINSTANCE HInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
中。
在WinMain函数中,需要定义一个struct体,名为WNDCLASSEX,并对其进行属性的赋值。其中WNDCLASSEX这个结构体的属性有
typedef struct {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX, *PWNDCLASSEX;
cbSize
通常情况下,只要将此参数设置为sizeof(WNDCLASSEX)即可,如果程序中用到了GetClassInfoEx函数,那么在使用前请一定要先设置cbSize的值。
style
指定一个样式,它的值可以是窗口样式的任意组合,在这里我们将其设置为CS_HREDRAW |CS_VREDRAW
,当然它还有其他取值如
CS_DBLCLKS
CS_OWNDC
CS_CLASSDC
CS_PARENTDC
CS_NOCLOSE
CS_SAVEBITS
CS_BYTEALIGNCLIENT
CS_BYTEALIGNWINDOW
CS_GLOBALCLASS
lpfnWndProc
此参数为指定一个回调函数,我们先定义一个回调函数如下
//回调函数
LRESULT WINAPI WinProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
switch