基于对话框的MFC添加CStatusBar怎么动态调整大小
基于对话框的MFC添加CStatusBar如何动态调整大小?
我在OnInitDialog里面用下面代码创建了个状态栏,我想让它在对话框最大化或者调整大小的时候,状态栏也跟随着变化,但我在OnSizing里面用m_StatusBar.SetPaneInfo结果运行就出错...为什么?请教下能如何达到我想要的结果?
if(!m_StatusBar.Create(this) || !m_StatusBar.SetIndicators(
indicators, sizeof(indicators) / sizeof(UINT) ) )
{
AfxMessageBox( "StatusBar Create Error! ");
return -1;
}
CRect rect;
GetClientRect(&rect);
m_StatusBar.SetPaneInfo(0, ID_READY, SBPS_NORMAL, rect.Width() * 2 / 3);
m_StatusBar.SetPaneInfo(1, ID_SERNUMS, SBPS_STRETCH, rect.Width() / 3);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
------解决方案--------------------
if (m_StatusBar.GetSafeHwnd())
{
m_StatusBar.SetPanelInfo(...);
}
我在OnInitDialog里面用下面代码创建了个状态栏,我想让它在对话框最大化或者调整大小的时候,状态栏也跟随着变化,但我在OnSizing里面用m_StatusBar.SetPaneInfo结果运行就出错...为什么?请教下能如何达到我想要的结果?
if(!m_StatusBar.Create(this) || !m_StatusBar.SetIndicators(
indicators, sizeof(indicators) / sizeof(UINT) ) )
{
AfxMessageBox( "StatusBar Create Error! ");
return -1;
}
CRect rect;
GetClientRect(&rect);
m_StatusBar.SetPaneInfo(0, ID_READY, SBPS_NORMAL, rect.Width() * 2 / 3);
m_StatusBar.SetPaneInfo(1, ID_SERNUMS, SBPS_STRETCH, rect.Width() / 3);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
------解决方案--------------------
if (m_StatusBar.GetSafeHwnd())
{
m_StatusBar.SetPanelInfo(...);
}