the easiest of all. StatusBars indicator's ID is used just as menu/
toolbar id to update pane text.
There are several ways.
From you button handler you can either do this:
CMainFrame *pWnd = (CMainFrame *)AfxGetMainWnd();
ASSERT(pWnd);
pWnd->GetStatusBar().SetPaneText(0,"Test 123");
note that you need to write a method for GetStatusBar in your CMainFrame
class
CStatusBar &GetStatusBar();
Or you can send a message to the main window
AfxGetMainWnd()->SendMessage(WM_SETSTATUS,0,pStr);
AliR.
<aloha...@gmail.com> wrote in message
news:66d2d089-60c1-453a-8f4e-c0e052ad0e71@z6g2000pre.googlegroups.com...
Hi Expert,
I'm using SDI application
In Mainfrm.cpp, i have
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_TEST,
};
I added a child dialog with one test button on it.
The child dialog is triggered via menu in main frame windows. the
class of child dialog is CDialog base.
class CChildDlg : public CDialog
{
public:
CChildDlg();
...
}
void CMainApp::OnEditDialog()
{
CChildDlg childDlg;
childDlg.DoModal();
}
void CChildDlg::OnBtnTest()
{
// how can I update the status bar in main frame windows ?
// the following code will trigger exception...!!!
CStatusBar m_wndStatusBar;
m_wndStatusBar.CommandToIndex(ID_INDICATOR_TEST);
m_wndStatusBar.SetPaneText(0, "TEST 123", TRUE);
m_wndStatusBar.UpdateWindow();
}
How can I update the status bar in main frame windows, upon clicking
Test button.
Thanks in advance.
Regards,
Kenji