我有一个MFC文档应用程序,我想从标题中删除“Untitled - ”。
我理解我需要从窗口样式中删除'AddToTitle'属性,然后我可以设置标题,并且不会添加'untitled'字符串。
我尝试了以下操作,但它不起作用。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
lpCreateStruct->cx &= ~FWS_ADDTOTITLE;
this->SetTitle(L"The New Title");
}
任何人都知道如何从主窗口标题中删除“无标题”?
谢谢,-Matt
答案 0 :(得分:2)
OnCreate
太迟了。您必须在创建窗口之前修改样式。只需删除FWS_ADDTOTITLE
中的PreCreateWindow
。
这是有充分记录的here。
答案 1 :(得分:1)
来自https://stackoverflow.com/a/35495606/383779
的答案过去我遇到过类似的问题。主窗口标题文本更改的原因是函数CFrameWndEx::OnUpdateFrameTitle。因为它是虚拟的,所以您可以在自己的派生类上覆盖它以获得所需的行为。这是一个对我有用的解决方案。
答案 2 :(得分:1)
我不确定这是否为时已晚,但您的问题中有一个错字
lpCreateStruct->cx &= ~FWS_ADDTOTITLE;
应该是
lpCreateStruct->style &= ~FWS_ADDTOTITLE;
并且您需要将其添加到 PreCreateWindow 函数中,而不是 OnCreate 函数中。