MFC CStatusBar不是最重要的可调整大小的CDialog

时间:2016-01-19 14:44:40

标签: mfc dialog window-resize

我基于对话框创建了一个MFC应用程序。在此,我在对话框底部添加了一个CStatusBar,将此代码添加到CMyDialog :: InitDIalog()中:

//Create status bar 
BOOL bReturn = m_wndStatusBar.Create(this);     
m_wndStatusBar.SetIndicators(indicators,1); 

//    Find the Size of Dialog box
CRect rect;                                        
GetClientRect(&rect);         

//    Size the two panes 
m_wndStatusBar.SetPaneInfo(0,IDD_INDICATOR_STATUS, SBPS_NORMAL, rect.Width());

//    This is where we actually draw it 
RepositionBars( AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, IDD_INDICATOR_STATUS ) ; 

注意在对话框编辑器中,我必须在状态栏的底部留一些空格。到目前为止工作正常,状态栏正确显示:

enter image description here

当我调整对话框大小时会出现问题。我将此代码放入CMyDialog :: OnSize():

RepositionBars( AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, IDD_INDICATOR_STATUS) ; 
m_wndStatusBar.SetForegroundWindow();

CStatusBar窗口的位置已正确调整...但状态栏显示在其他控件后面。

enter image description here

知道如何解决这个问题吗?为什么在这种情况下调用SetForegroungWindow()不起作用?

0 个答案:

没有答案