想要控制状态栏里信息的显示。
使用下面的代码:
CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();
CStatusBar* pStatus = (CStatusBar*)(pMain->GetDescendantWindow(AFX_IDW_STATUS_BAR));
CString fmtString = " [" + ptreeNode->getTitle() + "] 更新完毕";
char* fmt = const_cast<char*>((const char*)fmtString);
if(pStatus!=NULL)
{
pStatus->SetPaneText(0,fmt);
pStatus->UpdateWindow();
}
结果到pStatus->SetPaneText(0,fmt);这一句抛异常。
这段代码在一个新建工程里测试无误。
但是现在做的这个工程在MainFrame里面内嵌了一个Frame,导致状态栏貌似难以控制。
现在想在内嵌的Frame里面创建一个状态栏,请教应该如何做?
使用下面的代码:
CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();
CStatusBar* pStatus = (CStatusBar*)(pMain->GetDescendantWindow(AFX_IDW_STATUS_BAR));
CString fmtString = " [" + ptreeNode->getTitle() + "] 更新完毕";
char* fmt = const_cast<char*>((const char*)fmtString);
if(pStatus!=NULL)
{
pStatus->SetPaneText(0,fmt);
pStatus->UpdateWindow();
}
结果到pStatus->SetPaneText(0,fmt);这一句抛异常。
这段代码在一个新建工程里测试无误。
但是现在做的这个工程在MainFrame里面内嵌了一个Frame,导致状态栏貌似难以控制。
现在想在内嵌的Frame里面创建一个状态栏,请教应该如何做?
在框架类里面定义CStatusBar m_StatusBar;
响应框架的WM_CREATE消息,在CFrameWnd::OnCreate(lpCreateStruct)之后,执行m_StatusBar.Create(this)。
最开始只有一个FRAME的时候很正常
嵌套后就碰到LZ一样的问题了。
请楼上的说详细。。谢谢。。