您的位置:程序门 -> vc/mfc -> 界面



高分求救,mfc mdi, 想尽办法,无法解决 子窗口最大化标题附加父窗口标题之后


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


高分求救,mfc mdi, 想尽办法,无法解决 子窗口最大化标题附加父窗口标题之后
发表于:2007-08-27 15:21:32 楼主
各位大虾,

小虾   绞尽脑汁   无法解决   mdi   风格   子窗口最大化标题附加父窗口标题之后。

下列方法都用过了

(1)。重写主frame或者子   frame的onupdateframetitle(),失败,发现子窗口最大化后它的标题还是附加父窗口标题之后。

(2)   无论子frame还是父frame都设置了取消fws_addtotitle风格,子窗口没有最大化时管用,父窗口和子窗口各自独立的显示自己的标题,但是最大化后子窗口标题还是显示在父窗口标题之后,郁闷
bool   cmainframe::precreatewindow(createstruct&   cs)
{

//   todo:   modify   the   window   class   or   styles   here   by   modifying
//     the   createstruct   cs
        cs.style   &=   ~fws_addtotitle;
if(   !cmdiframewnd::precreatewindow(cs)   )
return   false;
       
return   true;
}
发表于:2007-08-27 20:39:041楼 得分:0
自己顶一下,没有人碰到过类似的问题么??
发表于:2007-08-27 21:18:022楼 得分:0
楼主可以结帖了。
frame标题的变化是在wndfrm.cpp中的   cframewnd::updateframetitlefordocument(lpctstr   lpszdocname)函数实现,这个函数是实函数,不能重写。
如果非要将标题改成自己要求的形式,可以对此函数使用api   hook技术,从而使用自己的函数。
我以前也查了n多资料,后来就是这样实现的。
发表于:2007-08-27 21:20:263楼 得分:0
见社区里面的另一帖:
多文档的标题栏中总是出现“无标题”,请问怎么去掉
http://community.csdn.net/expert/topic/5729/5729271.xml?temp=.2009851
发表于:2007-09-04 22:17:284楼 得分:0
唉,很简单了,在最大化时,调用setwindowtext设一下就行了
发表于:2007-09-05 14:11:205楼 得分:0
mark一下
发表于:2007-09-05 16:16:216楼 得分:0
用钩子。
发表于:2007-09-05 16:21:397楼 得分:0
子窗口没有最大化时管用,父窗口和子窗口各自独立的显示自己的标题,但是最大化后子窗口标题还是显示在父窗口标题之后
--------------------------------------------------------------
子窗口没有最大化时   ok
子窗口最大化后           setwindowtext( " ");
发表于:2007-09-05 16:52:238楼 得分:0
mark,试了下,好象确实不好弄。


快速检索

最新资讯
热门点击