hur.cn - 华软网

 热门搜索

想建一个WS_POPUP风格窗口就失败了,受挫中。。。。。。。。

  作者:未知    来源:网络    更新时间:2011/10/6
我就是在CFrameWnd::Create函数中指定WS_POPUP或WS_POPUPWINDOW的,编译通过,但是运行的时候只看见任务栏有程序,但根本看不到窗口?????
---华软 网友回答---
有窗口在左上角呢,你仔细找找
---华软网友回复---
?????
为什么,我还是没找到,
---华软网友回复---
当一个窗口为WS_POPUP没有WS_CHILD时,属于(Top-level)顶层窗口。

Top-level窗口是指没有WS_CHILD属性的窗口,它们的父窗口通常为Desktop窗口或者为NULL。
Top-level窗口是Desktop窗口的下一级。

Desktop窗口是Windows产生的第一个窗口
---华软网友回复---
引用 3 楼 gibsonboy 的回复:
当一个窗口为WS_POPUP没有WS_CHILD时,属于(Top-level)顶层窗口。

Top-level窗口是指没有WS_CHILD属性的窗口,它们的父窗口通常为Desktop窗口或者为NULL。
Top-level窗口是Desktop窗口的下一级。

Desktop窗口是Windows产生的第一个窗口


我没明白?
我就是想做一个类似对话框的小程序,像一些游戏修改器一样,他们只有一个窗口,没有标题栏,没有边框,背景只是一个图片。。。。。。

是不是WS_POPUP风格用的不对?
---华软网友回复---
引用 3 楼 gibsonboy 的回复:
当一个窗口为WS_POPUP没有WS_CHILD时,属于(Top-level)顶层窗口。

Top-level窗口是指没有WS_CHILD属性的窗口,它们的父窗口通常为Desktop窗口或者为NULL。
Top-level窗口是Desktop窗口的下一级。

Desktop窗口是Windows产生的第一个窗口


我没明白?
我就是想做一个类似对话框的小程序,像一些游戏修改器一样,他们只有一个窗口,没有标题栏,没有边框,背景只是一个图片。。。。。。

是不是WS_POPUP风格用的不对?
---华软网友回复---
用Dialog不要用SDI,去掉标题栏风格(WS_CAPTION)、去掉边框(WS_BORDER)就行。
---华软网友回复---
引用 6 楼 gibsonboy 的回复:
用Dialog不要用SDI,去掉标题栏风格(WS_CAPTION)、去掉边框(WS_BORDER)就行。


为什么SDI不行?
问题出在哪里?
---华软网友回复---
不是SDI不行,而是你的需求比较符合Dialog,用Dialog简单明了,非要SDI绕个大圈回来,有必要么?
---华软网友回复---
我就想知道为什么POP风格会出错?
---华软网友回复---
自己搞定了。
---华软网友回复---
你是不是这样指定窗口风格 cs.style = WS_POPUP或者WS_POPUPWINDOW;
---华软网友回复---
NO!

Create函数默认就是含有WS_CHILD风格。。。。。。。。所以不能和WS_POPUP同用

改用CreateEx就行了。。。。。。。。
---华软网友回复---
因为CFrameWnd创建的窗口默认有OVERLAPPED风格,所以无法和WS_POPUP通用,请使用CDialog
---华软网友回复---
用对话框方便些,这样绕弯处理太复杂了些。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。