社区
界面
帖子详情
对话框的style是child时如何制作异形窗体
☆钱多多☆
2013-01-29 06:01:41
我的对话框在单文档中显示,我想让这个对话框显示异形窗体请问该如何做呢,比如贴个五角星的图片,运行时,单文档中就是五角星,并且星星上可以相应鼠标消息,或者给我点资料也行,wm_ex_layered样式只有在主窗体类型时有用,在子窗体时无效。
...全文
195
2
打赏
收藏
对话框的style是child时如何制作异形窗体
我的对话框在单文档中显示,我想让这个对话框显示异形窗体请问该如何做呢,比如贴个五角星的图片,运行时,单文档中就是五角星,并且星星上可以相应鼠标消息,或者给我点资料也行,wm_ex_layered样式只有在主窗体类型时有用,在子窗体时无效。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jimette
2013-01-30
打赏
举报
回复
http://my.csdn.net/my/code/detail/37087、 不知道这个有帮助没有!
sumos
2013-01-30
打赏
举报
回复
回复人数极少,足以说明难度颇高。 在win8,分层窗口可以是child。 不是win8的话: 1,把你的窗口背景色刷成和文档背景色一样,在NCHITTEST消息中判断,如果当前像素 和 背景色 一样,那么返回HTTRANSPAENT(就是鼠标穿透),否则返回HTCLIENT。由于该消息太频繁,所以最好把像素保存起来,这样判断时会快点。 2,和第1种思路差不多,在读取图片的时候,首先创建一个图片大小的CRgn,然后读取图片时,把像素值为透明的区域 异或,最后得到的CRgn就是五角星。然后同上,用CRgn.PtInRegion来判断点是否在区域内
对话框
风格引起的一系列问题
今天在写新的功能模块
时
,使用到了
对话框
类,出现了一些莫名其妙的问题。其中一个
对话框
是主窗口,一个
对话框
是子窗口,程序初始化
时
主
对话框
是掩藏不显示的,但奇怪的是子
对话框
却显示了出来,并且父窗口的窗口排列也出现了异常。结果折腾了一圈才发现: 子
对话框
的风格为popup,而作为子窗口,应该设置成
child
风格。很久以前也遇到过类似的问题,在此记录一下,以免下次再出现不必要的折腾了。
Child
风格
对话框
转换成Popup风格
对话框
对于同一个Dialog资源,在不同的环境中可能需要显示的方式不一样。本人在开发中遇到的就是这种问题,在一种环境中需要的是
对话框
做嵌入式
child
显示,而另一处环境需要的是popup弹出式显示,有的人说弄两个资源,一个是子对话内嵌另一个是弹出式
对话框
,这样又不免重复了。 首先,资源里的
对话框
设置为
CHILD
类型嵌入式
对话框
,
对话框
类重写虚函数virtual void PreSubcl
属性页里面加
对话框
,该
对话框
应该为
child
类型
属性页里面加
对话框
,该
对话框
应该为
child
类型
MFC
对话框
Style
说明
Popup:弹出窗口 Overlapped:重叠窗口
Child
:子窗口 在它们之间并没有太多内在的差异,但是使用不同的窗口风格,它们的外观是 不同的。 重叠窗口通常用于建立应用程序主窗口。事实上,有
时
也叫做“主”窗口或者“框架”窗 口。 弹出窗口通常以
对话框
和消息框的形式与用户对话。 子窗口通常用在视图(View)中,如在文本编辑器中的文本显示,也用在控件中,如在
对话框
中的O
mfc非模态
对话框
Child
窗口CEdit控件获取不到焦点问题
遇到的问题就是创建一个非模态的子窗口。发现子窗口上的edit控件总是不能被激活,开始担心自己工程出问题了,于是新建了一个sdi,如图问题依然存在,既然如此那就在新工程中找问题,先设置
对话框
style
,popup/overlap都能正常使用,再试试模式
对话框
(有点没必要,因为模式
对话框
不能是
child
)依然没问题,为了保守起见,还是多托几个控件靠谱,发现只有edit无效,尴尬。那就只能对edit下手
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章