关于隐藏对话框标题栏时出现的一个有点小诡异的问题~~在线等~~

乌拉拉_ 2008-08-04 03:08:09
在程序中有个对话框,功能是显示系统的某些状态,该对话框可以固定在程序界面的上下左右,也可以拖出来成为浮动状态,类似于VS2005的那些视图菜单。
在资源文件里该对话框title bar属性设置为false,当把它从固定状态拖出来,成为浮动状态时,用modifystyle加上了WS_CAPTION,这时就出现了标题栏,当我再次让它成为固定状态时,又用modifystyle去掉了WS_CAPTION,就是固定时标题栏消失。

这样的效果已经实现了,但是问题就是只能在xp主题模式下实现。在2000下,或者在xp的经典主题模式(就是那个类似于2000的那种主题模式)下,我把对话框浮动出来,再拖回去让它固定,这时的标题栏不消失。请问这到底是怎么回事???有什么好的解决办法??
...全文
160 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
乌拉拉_ 2008-08-06
  • 打赏
  • 举报
回复
哎……ls的方法也不行……

我都疯了……本来在OnPaint里面再用ModifyStyle可以去掉非xp主题模式下固定对话框时的标题栏……

但是换成xp主题模式后,再把对话框拖出来,标题栏又不出现了……

= = 我不行了……
ringphone 2008-08-06
  • 打赏
  • 举报
回复
把WS_CAPTION或上WS_THICKFRAME试试,即modifystyle的style为WS_CAPTION|WS_THICKFRAME
乌拉拉_ 2008-08-06
  • 打赏
  • 举报
回复
还是没人吗?准备结贴了……
乌拉拉_ 2008-08-05
  • 打赏
  • 举报
回复
up……哪位达人解释下……
乌拉拉_ 2008-08-04
  • 打赏
  • 举报
回复
嗯,好像就是……可是为什么xp主题模式下就可以,非xp主题模式下就会失败啊???
cnzdgs 2008-08-04
  • 打赏
  • 举报
回复
前面的ModifyStyle失败了吧?
乌拉拉_ 2008-08-04
  • 打赏
  • 举报
回复
5楼是什么意思?哪个模式优化了?XP吗?可是ModifyStyle也没理由不起作用啊……
乌拉拉_ 2008-08-04
  • 打赏
  • 举报
回复
刚刚我又试了一下,在那个对话框的父窗口写了个OnPaint函数,在里面把WS_CAPATION又用ModifyStyle去掉了一次,结果就好了……这是怎么回事啊??
kakashi0309 2008-08-04
  • 打赏
  • 举报
回复
那种模式做了优化的问题吧

乌拉拉_ 2008-08-04
  • 打赏
  • 举报
回复
楼上的用代码强制窗口刷新是指什么??

是InvalidateRect( hWnd, NULL ); UpdateWindow( hWnd );
还是showWindow()??

我刚试过了,都不行啊……

不过还是谢谢了~~你是第一个回我贴的……呵呵……
cnzdgs 2008-08-04
  • 打赏
  • 举报
回复
没这样试过,你可以试试用代码强制刷新窗口。
乌拉拉_ 2008-08-04
  • 打赏
  • 举报
回复
哎……为什么没人回答啊?难道我没说清楚?
乌拉拉_ 2008-08-04
  • 打赏
  • 举报
回复
帮帮忙啊~~~

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧