正在加载图片...
第3章 Windows编程与MFC 口参数 hInstance表示该程序当前运行的实例的句柄,这是一个数值。当程序在 Windows下运行时, 它唯一标识运行中的实例。一个应用程序可以运行多个实例,每运行一个实例,系统都会给该 实例分配一个句柄值,并通过 hInstance参数传递给 Winmain函数 口参数 hPrevInstance表示当前实例的前一个实例的句柄。在Win32环境下,这个参数不再起作用, 为NULL 口参数 IpCmdLine是一个字符串指针,指定传递给应用程序的命令行参数。 口参数 n DshOw指定程序的窗口应该如何显示,例如最大化、最小化、隐藏等。这个参数的值 由该程序的调用者所指定,应用程序通常不需要去理会这个参数的值。 WinMain函数接收4个参数,这些参数都是在系统调用 WinMain函数时,传递给应用程序的 222创建窗口 创建一个完整的窗口,需要经过下面4个操作步骤:定义窗口类、注册窗口类、创建窗口实例 显示及更新窗口。 定义窗口类 在创建一个窗口前,必须对该类型的窗口进行设计,指定窗口的特征。窗口的特征是由 WNDCLASS结构体来定义的。 WNDCLASS结构体的定义如下: typedef struct tagWNDCLASS UINT style; //窗口风格 WNDPRoC lpfnwndProc //指向窗口处理函数的函数指针 nt cbclsextra //窗口结构中的预留字节数 int cbwndextra: //为其他创建窗口预留字节数 ANCe hInstance //注册该窗口类的实例句柄 HICON Icon //代表该窗口类 标 HCURSOR hours //该窗口客户区鼠标光标句柄 HBRUSH hbrBackGround //该窗口背景颜色句柄 LPCSTR Ips zMenuName //指向窗口菜单名的字符指针 //指向窗口名的字符指针 1 WNDCLASS, *PWNDCLASS, NEAR *NPWNDCLASS, FAR *LPWNDCLASS 2.注册窗口类 窗口类( WNDCLASS)设计完成后,需要调用 RegisterClasso函数对其进行注册,注册成功后, 才可以创建该类型的窗口。注册函数的原型声明如下: BOOL Registerclass(CoNST WNDCLAss *lpwndclass) 该函数只有一个参数,即上一步骤中所设计的窗口类对象的指针。 3.创建窗口实例 设计好窗口类并且将其成功注册之后,就可以用 Create Window(函数产生这种类型的窗 数 Create Window(原型如下 HWND Createwindow (LPCTSTR IpszClassName //窗口类名 励志照亮人生编程改变命❑ 参数hInstance表示该程序当前运行的实例的句柄,这是一个数值。当程序在Windows下运行时, 它唯一标识运行中的实例。一个应用程序可以运行多个实例,每运行一个实例,系统都会给该 实例分配一个句柄值,并通过hInstance参数传递给WinMain函数。 ❑ 参数hPrevInstance表示当前实例的前一个实例的句柄。在Win32环境下,这个参数不再起作用, 为NULL。 ❑ 参数lpCmdLine是一个字符串指针,指定传递给应用程序的命令行参数。 ❑ 参数nCmdShow指定程序的窗口应该如何显示,例如最大化、最小化、隐藏等。这个参数的值 由该程序的调用者所指定,应用程序通常不需要去理会这个参数的值。 WinMain函数接收4个参数,这些参数都是在系统调用WinMain函数时,传递给应用程序的。 2.2.2 创建窗口 创建一个完整的窗口,需要经过下面4个操作步骤:定义窗口类、注册窗口类、创建窗口实例、 显示及更新窗口。 1. 定义窗口类 在创建一个窗口前,必须对该类型的窗口进行设计,指定窗口的特征。窗口的特征是由 WNDCLASS结构体来定义的。WNDCLASS结构体的定义如下: typedef struct tagWNDCLASS { UINT style; //窗口风格 WNDPROC lpfnWndProc; //指向窗口处理函数的函数指针 int cbClsExtra; //窗口结构中的预留字节数 int cbWndExtra; //为其他创建窗口预留字节数 HINSTANCE hInstance; //注册该窗口类的实例句柄 HICON hIcon; //代表该窗口类的图标句柄 HCURSOR hCursor; //该窗口客户区鼠标光标句柄 HBRUSH hbrBackGround; //该窗口背景颜色句柄 LPCSTR lpszMenuName; //指向窗口菜单名的字符指针 LPCSTR lpszClassName; //指向窗口名的字符指针 } WNDCLASS, *PWNDCLASS,NEAR *NPWNDCLASS, FAR *LPWNDCLASS; 2. 注册窗口类 窗口类(WNDCLASS)设计完成后,需要调用RegisterClass()函数对其进行注册,注册成功后, 才可以创建该类型的窗口。注册函数的原型声明如下: BOOL RegisterClass(CONST WNDCLASS *lpWndClass); 该函数只有一个参数,即上一步骤中所设计的窗口类对象的指针。 3. 创建窗口实例 设计好窗口类并且将其成功注册之后,就可以用CreateWindow()函数产生这种类型的窗口了。函 数Create Window()原型如下: HWND CreateWindow (LPCTSTR lpszClassName, //窗口类名 33 励志照亮人生 编程改变命运 第 3 章 Windows编程与MFC基础
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有