首页 > 学院 > 开发设计 > 正文

CreateWindow中dwStyle设置为WS_POPUP时显示不出来

2019-11-06 06:56:52
字体:
来源:转载
供稿:网友

今天我在调试一个程序的时候,想要创建一个无标题栏无边框的窗口,按照之前的逻辑,代码应该这么写

...;hwnd = CreateWindow(szAppName, TEXT("无标题栏无边框窗口"), WS_POPUP, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);...;

查询了API档案才发现,CreateWindow()参数的x、y、nWidth、nHeight参数,设置为CW_USEDEFAULT这个默认值,只对于层叠窗口有效,也就是说只有当dwStyle设置为WS_OVERLAPPEDWINDOW这个参数时,才可以使用CW_USEDEFAULT这个宏,否则的话,全部默认是0,这样子窗口自然显示不出来了。

能显示出来的代码如下

...;hwnd = CreateWindow(szAppName, TEXT("无标题栏无边框窗口"), WS_POPUP, 200, // 指定窗口左上角顶点的x坐标 200, // 指定窗口左上角顶点的y坐标 600, // 指定窗口的宽度 600, // 指定窗口的高度 NULL, NULL, hInstance, NULL);...;

总结下来就是,初学Win SDK编程,在使用API函数的时候,一定要细心,不能想当然的改,对于每个参数应该怎么传入,都需要非常细心的检查。虽然耗时良久,但是细水流长,心急成不了大神。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表