VS2008 C++ MFC工程 SetWindowText不起作用?

ac_de 2010-10-27 08:53:43
使用向导建立VS2008 C++ MFC MDI工程。
在BOOL CTestApp::InitInstance()函数中
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
////////////////////////////////////之后添加
pMainFrame->SetWindowText("自定义名称"); //为什么不起作用?????
谢谢
...全文
272 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
敖elf鸿 2011-06-25
  • 打赏
  • 举报
回复
CMainFrame是什么呀?我这里怎么没有?
ac_de 2010-10-27
  • 打赏
  • 举报
回复
解决了。
必须在CMainFrame的PreCreateWindow()函数中添加去掉 添加标题属性。
之前在CChildFrame中PreCreateWindow中添加的。
多谢
Eleven 2010-10-27
  • 打赏
  • 举报
回复
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &= ~FWS_ADDTOTITLE;
m_strTitle = _T("Hello");
if( !CMDIFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

return TRUE;
}
muzizongheng 2010-10-27
  • 打赏
  • 举报
回复
你可以看看你的stringtable里面id_mainframe类似的东西, 把名字该掉。

ac_de 2010-10-27
  • 打赏
  • 举报
回复
已经去掉了FWS_ADDTOTITLE了在PreCreateWindow函数中。
但是还是显示不出来。
运行后显示的是工程的名称 而不是自定义的名称
muzizongheng 2010-10-27
  • 打赏
  • 举报
回复
首先如果你没有打开任何文档的话, 这句话应该起作用, 不过建议放到MainFrame的OnCreate中。

如果你打开了文档, 就必须把FWS_ADDTOTITLE 去掉。
ouyh12345 2010-10-27
  • 打赏
  • 举报
回复
为什么要在app里做
让frame自己显示好不好?
frame有自己的创建过程

15,979

社区成员

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

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