您的位置:首页 > 移动开发

VC中窗口的创建过程

2012-10-16 21:02 211 查看
窗口的创建过程需要四个步骤,下面列出了创建步骤和这个过程中涉及的类和函数:

1.设计一个窗口类//很多特征(光标,图标,背景)WNDCLASS

2.注册窗口类//RegisterClass

3.创建窗口//首先定义句柄 如:HWND hwnd; CreateWindow

4.显示及更新窗口//显示窗口:ShowWindow,更新窗口:UpdateWindow

一、WNDCLASS类:

typedef struct _WNDCLASS {

UINT style; //

WNDPROC lpfnWndProc;

int cbClsExtra; //额外的内存空间,属于这种窗口类的所有窗口所共享,通常情况下设为0

int cbWndExtra; //额外的内存空间,窗口内存空间

HINSTANCE hInstance; //句柄

HICON hIcon; //句柄,图标

HCURSOR hCursor; //光标句柄

HBRUSH hbrBackground; //画刷句柄

LPCTSTR lpszMenuName;

LPCTSTR lpszClassName;

} WNDCLASS, *PWNDCLASS;

第一个参数是指定类的类型,一般在Windows里面类有如下几种:(CS_BYTEALIGNCLIENT,CS_BYTEALIGNWINDOW,CS_CLASSDC,CS_DBLCLKS,CS_DROPSHADOW,CS_GLOBALCLASS,CS_HREDRAW,CS_NOCLOSE,CS_OWNDC,CS_PARENTDC,CS_SAVEBITS,CS_VRENRAW)它们都是只有一位为1的数值

第二个参数是回调函数,当应用程序收到给某一窗口的消息时,就应该调用某一函数来处理这条消息,这一调用过程不用应用程序自己来实施,而由操作系统完成,但是,回调函数本身的代码必须要应用程序自己完成。

第三和第四参数是系统额外分配的内存空间,其解释如上。

第五、六、七、八定义的是一个句柄,其结构类型如下:

HICON LoadIcon(

HINSTANCE hInstance, // handle to application instance

LPCTSTR lpIconName // name string or resource identifier

);//可以用Windows自带的标准图标,也可以CreateIcon,DestroyIcon

HCURSOR LoadCursor(

HINSTANCE hInstance, // handle to application instance

LPCTSTR lpCursorName // name or resource identifier

);//标准光标

在第九和第十个参数中,LPCTSTR:LONG POINTER CONST STRING.

二、创建窗口:

HWND CreateWindow(

LPCTSTR lpClassName, // registered class name

LPCTSTR lpWindowName, // window name

DWORD dwStyle, // window style

int x, // horizontal position of window

int y, // vertical position of window

int nWidth, // window width

int nHeight, // window height

HWND hWndParent, // handle to parent or owner window

HMENU hMenu, // menu handle or child identifier

HINSTANCE hInstance, // handle to application instance

LPVOID lpParam // window-creation data

);

三、显示窗口:

BOOL ShowWindow(

HWND hWnd, // handle to window

int nCmdShow // show state

);

四、更新窗口

BOOL UpdateWindow(

HWND hWnd // handle to window

);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息