P
Hallo,
falls noch jemand sowas machen möchte, ich habs so gemacht:
// in der CMeinDlg.h
class CMeinDlg: public CDialog
{
public:
CStatusBar m_dlgStatusBar;
.....
.
.
}
// in der CMeinDlg::OnInitDialog()
BOOL CMeinDlg::OnInitDialog()
{
...
.
.
// die Vorbereitung:
m_dlgStatusBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, /*UINT nID = */AFX_IDW_STATUS_BAR);
m_dlgStatusBar.SetIndicators(nIndicators, 4);
TEXTMETRIC tm;
CClientDC dc(this);
CFont* pFont = m_dlgStatusBar.GetFont();
CFont* pOldFont = dc.SelectObject(pFont);
dc.GetTextMetrics(&tm);
dc.SelectObject(pOldFont);
int cxWidth;
UINT nID, nStyle;
//m_dlgStatusBar.GetPaneInfo(3, nID, nStyle, cxWidth);
// ich habe 4 Felder in der Status Bar
m_dlgStatusBar.SetPaneInfo(0, nID, SBPS_POPOUT, tm.tmAveCharWidth * 160);
m_dlgStatusBar.SetPaneInfo(1, nID, SBPS_POPOUT, tm.tmAveCharWidth * 40);
m_dlgStatusBar.SetPaneInfo(2, nID, SBPS_POPOUT, tm.tmAveCharWidth * 22);
m_dlgStatusBar.SetPaneInfo(3, nID, SBPS_POPOUT, tm.tmAveCharWidth * 22);
m_dlgStatusBar.SetPaneText(0, L"Text Pane 0");
m_dlgStatusBar.SetPaneText(1, L"Text Pane 1");
m_dlgStatusBar.SetPaneText(2, L"Text Pane 2");
m_dlgStatusBar.SetPaneText(3, L"Text Pane 3");
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST, 0);
return TRUE;
}
den Text kann man dann beliebig in Code ändern:
m_dlgStatusBar.SetPaneText(iIndex,csNeuerText);
MFG
pixel