关于mfc中CStatusBar对象的问题
在vs2010中如何让mfc中的CStatusBar对象与对话框一起响应WM_SIZE消息随对话框一起变长或变短,并始终在对话框底部...
在vs2010中如何让mfc中的CStatusBar对象与对话框一起响应WM_SIZE消息随对话框一起变长或变短,并始终在对话框底部
展开
1个回答
展开全部
请看StatusBar在Dialog里的具体实现:
// 声明一个StatusBar
CStatusBar m_wndStatusBar;
// 定义一个StatusBar的ID。
staticUINTindicators[]=
{
ID_SOFTRIGHT, // status lineindicator
};
//世型 在窗口处理OnInitDialog消息时创建该StatusBar
if(!m_wndStatusBar.Create(this))
{
TRACE0("Failedto create status bar\n"差梁);
return-1; // fail to create
}
// 计算有多少个消息栏需要添加。
m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));
// 设置第一个消息栏的宽度为500,也就是那个软搜庆猜件版权消息栏
m_wndStatusBar.SetPaneInfo(0,ID_SOFTRIGHT,SBPS_STRETCH,500);
// 设置软件版权的字符串
m_wndStatusBar.SetPaneText(0,_T("我的应用程序 Copyright (C) 2012 XXX All Rights Reserved."));
//在WM_SIZE里,使用如下语句,重新设置StatusBar的长度。
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,ID_SOFTRIGHT);
// 声明一个StatusBar
CStatusBar m_wndStatusBar;
// 定义一个StatusBar的ID。
staticUINTindicators[]=
{
ID_SOFTRIGHT, // status lineindicator
};
//世型 在窗口处理OnInitDialog消息时创建该StatusBar
if(!m_wndStatusBar.Create(this))
{
TRACE0("Failedto create status bar\n"差梁);
return-1; // fail to create
}
// 计算有多少个消息栏需要添加。
m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));
// 设置第一个消息栏的宽度为500,也就是那个软搜庆猜件版权消息栏
m_wndStatusBar.SetPaneInfo(0,ID_SOFTRIGHT,SBPS_STRETCH,500);
// 设置软件版权的字符串
m_wndStatusBar.SetPaneText(0,_T("我的应用程序 Copyright (C) 2012 XXX All Rights Reserved."));
//在WM_SIZE里,使用如下语句,重新设置StatusBar的长度。
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,ID_SOFTRIGHT);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询