我使用下面的代码创建了状态条
//-------------------
// Create status bar:
//-------------------
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
我在indicators中添加了一个自己的项ID_INDICATOR_AD
static UINT indicators[] =
{
ID_SEPARATOR, ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
ID_INDICATOR_AD
};ID_INDICATOR_AD实在String table中定义的。现在在界面下显示出来了,可以改变文字, 但是总是灰色的。我想根据状态改变为不是灰色。看来MSDN,没有找到对应的接口,请问怎么办?
//-------------------
// Create status bar:
//-------------------
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
我在indicators中添加了一个自己的项ID_INDICATOR_AD
static UINT indicators[] =
{
ID_SEPARATOR, ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
ID_INDICATOR_AD
};ID_INDICATOR_AD实在String table中定义的。现在在界面下显示出来了,可以改变文字, 但是总是灰色的。我想根据状态改变为不是灰色。看来MSDN,没有找到对应的接口,请问怎么办?
先通过 CStatusBar::GetItemRect取得位置
然后,通过位置,画上底色!
我也试了CMFStatusBar, 给文字设置颜色后,还是不起效果,始终是灰色。
是不是有些选项没有设置好?