创建和显示窗口

当窗口类注册完毕之后,并不会有窗口显示出来,因为注册的过程仅仅是为创建窗口所做的准备工作。实际创建一个窗口是通过调用CreateWindow函数完成的。窗口类中已经预先定义了窗口的一般属性,而CreateWindow中的参数可以进一步指定一个窗口的更
具体的属性,在HelloWin.c程序中,是用下列调用CreateWindow函数的代码来创建窗      口的: 
 
hwnd = CreateWindow ("HelloWin",           // 窗口类名,要与注册时指定的相同                          

 "我的窗口",  // 窗口标题 
  WS_OVERLAPPEDWINDOW,  // 窗口样式                          

CW_USEDEFAULT,          // 窗口最初的 x 位置                          

 CW_USEDEFAULT,          // 窗口最初的 y 位置                         

  480,               // 窗口最初的 x 大小                          

 320,               // 窗口最初的 y 大小 
 NULL,                     // 父窗口句柄                          

NULL,     // 窗口菜单句柄                          

hInstance,              // 应用程序实例句柄                          

NULL)                   // 创建窗口的参数
 
CreateWindow函数的第一个参数是创建该窗口所使用的窗口类的名称,注意这个名称应与前面所注册的窗口类的名称一致。第三个参数为创建的窗口的风格,它们通常是一些预定义风格的“|”组合。其中,WS_OVERLAPPEDWINDOW表示创建一个层叠式窗口,有边框、标题栏、系统菜单、最大化和最小化按钮等。
CreateWindow函数后面的参数中,仍用到了该应用程序的实例句柄hInstance。如果窗口创建成功,返回值是新窗口的句柄,否则返回NULL。窗口创建后,并不会在屏幕上显示出来。要能真正把窗口显示在屏幕上,还得使用ShowWindow函数,其原型如下: 
 BOOL ShowWindow( HWND hWnd,  int nCmdShow ); 
 
其中,参数hWnd指定要显示得窗口的句柄,nCmdShow表示窗口的显示方式,这里指定为从WinMain函数的nCmdShow所传递而来的值。
由于ShowWindow函数的执行优先级不高,所以当系统正忙着执行其他的任务时,窗口不会立即显示出来,此时,调用UpdateWindow函数以可以立即显示窗口。同时,它将会给窗口过程发出WM_PAINT消息。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值