窗体最大化后,状态栏怎么跟着变化呀??
:OnInitDialog()里面添加的下面代码,给基本对话框的mfc程序添加的状态栏,想要,窗体变化时,状态栏也变化,怎么办?
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
特意给你测试过
:OnInitDialog()里面添加的下面代码,给基本对话框的mfc程序添加的状态栏,想要,窗体变化时,状态栏也变化,怎么办?
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
RECT m_Rect;
GetClientRect(&m_Rect); //获取对话框的矩形区域
m_Rect.top=m_Rect.bottom-20; //设置状态栏的矩形区域
m_StatBar.Create(WS_BORDER|WS_VISIBLE|CBRS_BOTTOM,m_Rect,this,3);
int nParts[4]= {100, 200, 300,-1}; //分割尺寸
m_StatBar.SetParts(4, nParts); //分割状态栏
m_StatBar.SetText("这是第一个指示器",0,0); //第一个分栏加入"这是第一个指示器"
m_StatBar.SetText("这是第二个指示器",1,0); //以下类似
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
------解决方案--------------------------------------------------------
void Ccsdn_testDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
if(m_StatBar.GetSafeHwnd())
{
//RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
RECT m_Rect;
GetClientRect(&m_Rect); //获取对话框的矩形区域
m_Rect.top=m_Rect.bottom-20; //设置状态栏的矩形区域
m_StatBar.MoveWindow(&m_Rect,TRUE);
}
}
------解决方案--------------------------------------------------------
特意给你测试过

本文介绍了一个MFC基本对话框中状态栏的实现方法,并详细展示了如何通过重写OnSize方法来使状态栏随窗口大小的变化而自适应调整位置及大小。
4583

被折叠的 条评论
为什么被折叠?



