再上一篇:2.3 注册窗口类
上一篇:2.4 创建窗口
主页
下一篇:2.6 消息循环
再下一篇:2.7 窗口函数与消息处理
文章列表

2.5 显示窗口

《Windows 下的 C/C++高级编程》讲述Windows环境下调用Win32 API函数程序设计

调用CreateWindow 函数后,系统内部已经创建了这个窗口对象,为它分配了内存,保存了在CreateWindow函数中指定的窗口信息和以后Windows所需的关于该窗口的其他信息。

下面就需要把已经创建的窗口显示出来,于是调用API函数ShowWindow:

ShowWindow( hwnd, nCmdShow );

#第22页~

第2章 窗口和消息该函数的第一个参数是CreateWindow 所创建的窗口的句柄,用以确定显示哪一个窗口。第二个参数是系统传给WinMain的显示参数nCmdShow,用以确定最初如何在屏幕上显示窗口,是常规窗口、最小化窗口还是最大化窗口。该参数从程序快捷方式的参数处获得,例如,当用户向“开始”菜单中添加程序(其实是快捷方式)时,可以通过设定特定的nCmdShow参数来获取自己希望的显示效果。常用的显示参数有以下几种:

表2-2 常用窗口显示参数表

预定义常量 描述

SW_SHOWMAXIMIZED 最大化显示一个窗口,并激活

SW_SHOWMINIIMIZED 最小化一个窗口,并激活

SW_SHOWMINNOACTIVE 最小化显示一个窗口,但不激活

SW_SHOWNORMAL 激活并按常规大小显示一个窗口

如果ShowWindow的第二个参数是SW_SHOWNORMAL,那么窗口的用户区域就会被窗口类中定义的背景刷子“刷新”。在这里,也就是被“刷”成全白色。

接下来的函数调用:

UpdateWindow( hwnd );

通过给窗口函数(在窗口类中定义,在HelloWin中即WndProc函数)发送一个WM_PAINT消息导致窗口的用户区被重绘。具体的处理我们将在后面WndProc中详细讲述。