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

mailzyok 2007-08-27 03: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;
}
...全文
249 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyg_zy 2007-09-05
  • 打赏
  • 举报
回复
mark,试了下,好象确实不好弄。
witchman___ 2007-09-05
  • 打赏
  • 举报
回复
子窗口没有最大化时管用,父窗口和子窗口各自独立的显示自己的标题,但是最大化后子窗口标题还是显示在父窗口标题之后
--------------------------------------------------------------
子窗口没有最大化时 ok
子窗口最大化后 SetWindowText("");
jhs1982419 2007-09-05
  • 打赏
  • 举报
回复
用钩子。
raymonzhao 2007-09-05
  • 打赏
  • 举报
回复
MARK一下
worry 2007-09-04
  • 打赏
  • 举报
回复
唉,很简单了,在最大化时,调用SetWindowText设一下就行了
sunlin7 2007-08-27
  • 打赏
  • 举报
回复
见社区里面的另一帖:
多文档的标题栏中总是出现“无标题”,请问怎么去掉
http://community.csdn.net/Expert/topic/5729/5729271.xml?temp=.2009851
sunlin7 2007-08-27
  • 打赏
  • 举报
回复
楼主可以结帖了。
Frame标题的变化是在WndFrm.cpp中的 CFrameWnd::UpdateFrameTitleForDocument(LPCTSTR lpszDocName)函数实现,这个函数是实函数,不能重写。
如果非要将标题改成自己要求的形式,可以对此函数使用Api Hook技术,从而使用自己的函数。
我以前也查了N多资料,后来就是这样实现的。
mailzyok 2007-08-27
  • 打赏
  • 举报
回复
自己顶一下,没有人碰到过类似的问题么??

15,979

社区成员

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

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