请教:关于更改 非DOC/View结构 中ChildFrame标题的问题
大家好:我想更改MDI程序中子框架的标题。
在创建新的ChildFrame后用SetWindowText(...),只能维持新的标题一下,如果创建新的子框架,标题又恢复原来的样子了。代码如下:
void CBaseApp::OnFileNew()
{
CMainFrame* pFrame = STATIC_DOWNCAST(CMainFrame, m_pMainWnd);
// 创建新的 MDI 子窗口
CChildFrame* pChildWnd=(CChildFrame*) pFrame->CreateNewChild(
RUNTIME_CLASS(CChildFrame), IDR_CHILDFAME1, m_hMDIMenu, m_hMDIAccel);
pChildWnd->SetWindowText("我的自定义标题");
}
请问各位有什么好方法吗?
另外:
我在 PreCreateWindows(...)里面设置 cs.lpszName="我的自定义标题",好像不行的,为什么?
代码如下:
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或样式
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
HICON hWndIcon = ::LoadIcon(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDR_CHILDFAME1));
cs.lpszName = "我的自定义标题";
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.dwExStyle |= WS_OVERLAPPEDWINDOW;
cs.lpszClass = AfxRegisterWndClass(0, 0, 0, hWndIcon);
return TRUE;
}