初学windows程序设计不懂得几个问题
1:最开始的那个程序里德一句是这样的 wndclass.hbrBackground =(HBRUSH) GetStockObject为什么会有这一句(HBRUSH)?
2:wndclass.lpszclassname =szAppName
这个窗口类的名字不就是wndclass了吗,???
3:主函数WinMain调用的后面两个参数szCmdLine和iCmdShow是什么时候赋值的?szCmdLine这个参数具体是怎么用的?iCmdShow
真心不知道是在哪里赋的值啊啊啊 打酱油 一:(HBRUSH)代表将信息转化为画刷句柄类型,因为这里是专门用GetStockObject检索预定义画刷给hbrBackground成员的
二:可以说是第一次指定了类名,但是createwindows的时候,第一个实参的值才真正确定类名
三:szCmdLine代表命令行参数,用cmd启动程序的时候存储参数。
iCmdShow的话,表示“常规窗口”、“最小化”、“最大化”等启动状态
其值为以下几个宏:
SW_HIDE(隐藏窗口)
SW_MINIMIZE(最小化)
SW_RESTORE(恢复)
SW_SHOW(显示)
SW_SHOWMAXIMIZED(最大化显示)
SW_SHOWMINIMIZED(最小化显示)
SW_SHOWMINNOACTIVE(以图标方式显示)
SW_SHOWNA(保持当前窗**动状态)
SW_SHOWNOACTIVATE(不要激活地显示)
SW_SHOWNORMAL(正常显示) 漩涡鸣人 发表于 2014-9-27 22:42
一:(HBRUSH)代表将信息转化为画刷句柄类型,因为这里是专门用GetStockObject检索预定义画刷给hbrBackgroun ...
第二个,为什么不直接用wndclass啊?
第三个,iCmdShow的值是什么时候赋的?比如说想让窗口显示以最大化应该怎么写?
谢谢, 本帖最后由 漩涡鸣人 于 2014-9-28 18:32 编辑
小鸵鸟 发表于 2014-9-28 08:17
第二个,为什么不直接用wndclass啊?
第三个,iCmdShow的值是什么时候赋的?比如说想让窗口显示以最大化 ...
您有个概念混淆了哦。
wndclass只是定义的一个结构体变量名,编译完了之后就只是一堆内存地址而已。
而窗口类名就像进程名一样,是运行着的进程的一个标志,是要用于标识这个程序的
ShowWindow函数可以改变窗口显示方式
一般在CreateWindow之后还会用ShowWindow确定显示方式
漩涡鸣人 发表于 2014-9-28 18:30
您有个概念混淆了哦。
wndclass只是定义的一个结构体变量名,编译完了之后就只是一堆内存地址而已。
...
哦哦,非常感谢, 厉害厉害 学习了
:lol:
页:
[1]