From: Drew on
I'm in the process of changing the look of our app to use the new feature
pack controls and have chosen a project of style Visual Studio 2005. I've
added some panes to the CMFCStatusBar in addition to the default provided:
CAPS, OVR, etc. The text in my panes all appear gray and I'm trying to
figure out to make their text black. I've tried adding:

BEGIN_MESSAGE_MAP(CMyMainWnd, CMDIFrameWndEx)
ON_UPDATE_COMMAND_UI_RANGE(ID_FIRST_PANE, ID_LAST_PANE,
OnUpdateStatusBarPanes)
END_MESSAGE_MAP()

void CMyMainWnd::OnUpdateStatusBarPanes(CCmdUI* pCmdUI)
{
m_wndStatusBar.SetPaneTextColor(pCmdUI->m_nID - ID_FIRST_PANE,
COLORREF(RGB(255, 255, 255)));
}

which is as close to an answer as I've found by searching, specifically:

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/d931dd86-64dc-4372-89bf-4ccb5bd1601d

which I consider less than helpful.

Does anyone have any experience with this? Any help appreciated.

Thanks,
Drew


From: Jonathan Wood on
This sort of setting is not normally related to the update mechanism of MFC,
although I can see instances where it could be.

I stuck the following line near the end of CMainFrame::OnCreate():

m_wndStatusBar.SetPaneTextColor(0, RGB(255, 0, 0));

And, sure enough, the text in the first pane appears red.



"Drew" <dam(a)dam.com> wrote in message
news:OTXY1q#VKHA.5208(a)TK2MSFTNGP05.phx.gbl...
> I'm in the process of changing the look of our app to use the new feature
> pack controls and have chosen a project of style Visual Studio 2005. I've
> added some panes to the CMFCStatusBar in addition to the default provided:
> CAPS, OVR, etc. The text in my panes all appear gray and I'm trying to
> figure out to make their text black. I've tried adding:
>
> BEGIN_MESSAGE_MAP(CMyMainWnd, CMDIFrameWndEx)
> ON_UPDATE_COMMAND_UI_RANGE(ID_FIRST_PANE, ID_LAST_PANE,
> OnUpdateStatusBarPanes)
> END_MESSAGE_MAP()
>
> void CMyMainWnd::OnUpdateStatusBarPanes(CCmdUI* pCmdUI)
> {
> m_wndStatusBar.SetPaneTextColor(pCmdUI->m_nID - ID_FIRST_PANE,
> COLORREF(RGB(255, 255, 255)));
> }
>
> which is as close to an answer as I've found by searching, specifically:
>
> http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/d931dd86-64dc-4372-89bf-4ccb5bd1601d
>
> which I consider less than helpful.
>
> Does anyone have any experience with this? Any help appreciated.
>
> Thanks,
> Drew
>


--
Jonathan Wood
SoftCircuits Programming
http://www.softcircuits.com


From: Drew on

"Jonathan Wood" <jwood(a)softcircuits.com> wrote in message
news:Ox5bQb$VKHA.844(a)TK2MSFTNGP05.phx.gbl...
> This sort of setting is not normally related to the update mechanism of
> MFC, although I can see instances where it could be.

----------------
I agree, but refer to the link I posted where a moderator from MSFT marked
the issue I described as answered when the ON_UPDATE_COMMAND_UI(_RANGE) was
proposed.
----------------

>
> I stuck the following line near the end of CMainFrame::OnCreate():
>
> m_wndStatusBar.SetPaneTextColor(0, RGB(255, 0, 0));
>
> And, sure enough, the text in the first pane appears red.

----------------
I tried the way you suggested:

m_wndStatusBar.SetPaneTextColor(pCmdUI->m_nID - ID_FIRST_PANE,
COLORREF(RGB(0, 0, 0)));

at the end of CMainFrame::Create() and sure enough the text in the panes was
black until my view opened at which point it turned gray again. So there's
something else going on here.

Thanks,
Drew
----------------
>
>
>
> "Drew" <dam(a)dam.com> wrote in message
> news:OTXY1q#VKHA.5208(a)TK2MSFTNGP05.phx.gbl...
>> I'm in the process of changing the look of our app to use the new feature
>> pack controls and have chosen a project of style Visual Studio 2005. I've
>> added some panes to the CMFCStatusBar in addition to the default
>> provided: CAPS, OVR, etc. The text in my panes all appear gray and I'm
>> trying to figure out to make their text black. I've tried adding:
>>
>> BEGIN_MESSAGE_MAP(CMyMainWnd, CMDIFrameWndEx)
>> ON_UPDATE_COMMAND_UI_RANGE(ID_FIRST_PANE, ID_LAST_PANE,
>> OnUpdateStatusBarPanes)
>> END_MESSAGE_MAP()
>>
>> void CMyMainWnd::OnUpdateStatusBarPanes(CCmdUI* pCmdUI)
>> {
>> m_wndStatusBar.SetPaneTextColor(pCmdUI->m_nID - ID_FIRST_PANE,
>> COLORREF(RGB(255, 255, 255)));
>> }
>>
>> which is as close to an answer as I've found by searching, specifically:
>>
>> http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/d931dd86-64dc-4372-89bf-4ccb5bd1601d
>>
>> which I consider less than helpful.
>>
>> Does anyone have any experience with this? Any help appreciated.
>>
>> Thanks,
>> Drew
>>
>
>
> --
> Jonathan Wood
> SoftCircuits Programming
> http://www.softcircuits.com
>
>


From: Jonathan Wood on
"Drew" <dam(a)dam.com> wrote:

> I tried the way you suggested:
>
> m_wndStatusBar.SetPaneTextColor(pCmdUI->m_nID - ID_FIRST_PANE,
> COLORREF(RGB(0, 0, 0)));
>
> at the end of CMainFrame::Create() and sure enough the text in the panes
> was black until my view opened at which point it turned gray again. So
> there's something else going on here.

Interesting. Are you sure all your previous code was disabled?

My code changes the first pane's text to red and it stays red when I open
various views and switch between them. I haven't spent enough time on this
to know what the issue is but now I wonder if you have some other code doing
something that prevents your app from working like mine.

>
> Thanks,
> Drew
> ----------------
>>
>>
>>
>> "Drew" <dam(a)dam.com> wrote in message
>> news:OTXY1q#VKHA.5208(a)TK2MSFTNGP05.phx.gbl...
>>> I'm in the process of changing the look of our app to use the new
>>> feature pack controls and have chosen a project of style Visual Studio
>>> 2005. I've added some panes to the CMFCStatusBar in addition to the
>>> default provided: CAPS, OVR, etc. The text in my panes all appear gray
>>> and I'm trying to figure out to make their text black. I've tried
>>> adding:
>>>
>>> BEGIN_MESSAGE_MAP(CMyMainWnd, CMDIFrameWndEx)
>>> ON_UPDATE_COMMAND_UI_RANGE(ID_FIRST_PANE, ID_LAST_PANE,
>>> OnUpdateStatusBarPanes)
>>> END_MESSAGE_MAP()
>>>
>>> void CMyMainWnd::OnUpdateStatusBarPanes(CCmdUI* pCmdUI)
>>> {
>>> m_wndStatusBar.SetPaneTextColor(pCmdUI->m_nID - ID_FIRST_PANE,
>>> COLORREF(RGB(255, 255, 255)));
>>> }
>>>
>>> which is as close to an answer as I've found by searching, specifically:
>>>
>>> http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/d931dd86-64dc-4372-89bf-4ccb5bd1601d
>>>
>>> which I consider less than helpful.
>>>
>>> Does anyone have any experience with this? Any help appreciated.
>>>
>>> Thanks,
>>> Drew
>>>
>>
>>
>> --
>> Jonathan Wood
>> SoftCircuits Programming
>> http://www.softcircuits.com
>>
>>
>
>


--
Jonathan Wood
SoftCircuits Programming
http://www.softcircuits.com


From: hgn on
To make the text on the statusbar black you just have to add

pCmdUI->Enable( true );