第25周-window程序设计(基础篇)-第3章-注册窗口类别2

1、注册窗口类别2:10个字段的详细分析

/*执行实体句柄*/
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);//为所有依据窗口类别建立的窗口设置一个图标,[ID]代表图示。IDI_APPLICATION图标是一个简单的窗口小图形。LoadIcon函数传回该图示的句柄。WNDCLASS结构中定义为HICON型态。

wndclass.hCursor = LoadCursor(NULL,IDC_ARROW);
//。LoadCursor函数加载一个预先定义的鼠标光标(命名为IDC_ARROW),
并传回该游标的句柄。该句柄被设定给WNDCLASS结构的hCursor字段。

wndclass.hbrBackground = GetStockObject(WHITE_BRUSH);
//hbrBackground字段名称中的hbr前缀代表「handle to a brush(画刷句柄)」,
GetStockObject呼叫将传回一个白色画刷的句柄,所以显示区域背景为白色。

/*字段指定窗口类别菜单,HELLOWIN没有应用程序菜单*/
wndclass.lpszMenuName = NULL;

/*给出一个类别名称,即存放在szAppName变量中的「HelloWin」字符串*/
wndclass.lpszClassName = szAppName;

/*在windows 98下执行了Unicode,需通知使用者有问题,
并终止执行,函数呼叫返回0*/ 
if(!RegisterClass(&wndclass))
 {
   MessageBox(NULL,TEXT("This program requires Windows NT"),
             szAppName,MB_ICONERROR);
   return 0;
  }  
//GetlastError函数可帮助确定错误产生的原因,可获得更多错误信息。
可在/Platform SDK/Windows BaseServices/Debugging and Error Handling/Error Codes/System Errors - Numerical Order查看错误。
[好习惯]:检查所有可能发生错误的函数呼叫的传回值;在配置内存后检查错误。

/16位window的遗留产物,32位中,hPrevInstance总是NULL/
if(!hPrevInstance)
 {
   wndclass.cbStyle = CS_HREDRAW|CS_VREDRAW;
   初始化其他wndclass
   RegisterClass(&wndclass);
 }


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值