Re: How To: CStatubar panel Right-align text
I need some MFC expert guidance here.
This 3rd party class at codeproject didn't provide the override for
the CStatusBar::SetPaneText().
While I dug into the code to this:
BOOL CExtStatusControlBar::SetPaneText(int nIndex, LPCTSTR
lpszNewText, BOOL bUpdate)
{
if( nIndex < m_nCount && nIndex >= 0 ){
_STATUSBAR_PANE_ pane;
if (PaneInfoGet(nIndex, &pane)) {
for ( int i = 0; i < m_arrPaneControls.GetSize(); i++ ){
if (m_arrPaneControls[i]->nID == pane.nID) {
_STATUSBAR_PANE_CTRL_ *pc = m_arrPaneControls[i];
if( pc ) {
::SetWindowText(pc->hWnd,lpszNewText);
return TRUE;
}
return FALSE;
}
}
// regular CStatusBar pane
return CStatusBar::SetPaneText( nIndex, lpszNewText, bUpdate);
}
}
return FALSE;
}
I would like to simplify this by getting the specific CStatusBar pane
window handle so I can take control of the attributes. I just don't
see any public members in its in CStatusBar or its base CControlBar
class to access the pane windows.
Do you see how without duplicating this class?
--
HLS
Hector Santos wrote:
I'm sure the coding logic is there to access the panel CWnd, but I
picked up an cool CStatusBar subclass that provided plug and play
flexibility of adding more controls to the status bar.
http://www.codeproject.com/KB/statusbar/ExtStatusControlBar.aspx
Easy method to a label control and hence easy preparation for the
alignment, font, coloring, etc.