利用百叶窗式面板组可增大窗口
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419yi.gif)
![](/icons/419dou2.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419dou2.gif)
本
![](/icons/419chengxu.gif)
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419yi.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419yi.gif)
![](/icons/419dou2.gif)
显示/隐藏Control控件:
CWnd *pWnd;
pWnd = GetDlgItem( Control控件ID号 );
pWnd->ShowWindow( nShow );
GetDlgItem
![](/icons/419kh.gif)
![](/icons/419hanshu.gif)
![](/icons/419de.gif)
ShowWindow
![](/icons/419kh.gif)
![](/icons/419hanshu.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419dou2.gif)
修改Control控件位置:
CWnd *pWnd;
pWnd = GetDlgItem( Control控件ID号 );
pWnd->SetWindowPos( NULL,x,y,0,0,SWP_NOZORDER | SWP_NOSIZE );
SetWindowPos
![](/icons/419kh.gif)
![](/icons/419hanshu.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
这个
![](/icons/419chengxu.gif)
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou2.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419yi.gif)
![](/icons/419dou2.gif)
我定义了
![](/icons/419yi.gif)
![](/icons/419shuzu.gif)
![](/icons/419int.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou2.gif)
面板1
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
面板2
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
当面版1展开时
![](/icons/419dou.gif)
![](/icons/419dou.gif)
当面版1收起时
![](/icons/419dou.gif)
![](/icons/419dou.gif)
面板3
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
当面版2展开时
![](/icons/419dou.gif)
![](/icons/419dou.gif)
当面版2收起时
![](/icons/419dou.gif)
![](/icons/419dou.gif)
以下就是计算面板3各部分位置
![](/icons/419de.gif)
![](/icons/419hanshu.gif)
void CCurtainBoxDlg::CalculateControlPos3
![](/icons/419kh.gif)
{
m_TitlePt[2].x = m_BoxRext.left;//标题条位置(左上角坐标)
![](/icons/419if.gif)
![](/icons/419de.gif)
m_TitlePt[2].y = m_TitlePt[1].y+m_BoxHeight[1];
![](/icons/419else.gif)
![](/icons/419de.gif)
m_TitlePt[2].y = m_TitlePt[1].y+m_TitleHeight;
m_ControlPt3[0] = CPo
![](/icons/419int.gif)
m_ControlPt3[1] = CPo
![](/icons/419int.gif)
m_ControlPt3[2] = CPo
![](/icons/419int.gif)
}
面板下各Control控件位置是经反复调节确定
![](/icons/419de.gif)
![](/icons/419dou2.gif)
![](/icons/419dou2.gif)
计算好位置后
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419hanshu.gif)
void CCurtainBoxDlg::SetBox3Pos
![](/icons/419kh.gif)
{
CWnd *pWnd = GetDlgItem( IDC_T99vLE3 );
pWnd->SetWindowPos( NULL, m_TitlePt[2].x, m_TitlePt[2].y,
0, 0, SWP_NOSIZE | SWP_NOZORDER );//调整标题栏位置
![](/icons/419int.gif)
for( i=0; i
{
pWnd = GetDlgItem( m_Box3ID[i] );
pWnd->SetWindowPos( NULL, m_ControlPt3[i].x, m_ControlPt3[i].y,
0, 0, SWP_NOSIZE | SWP_NOZORDER );//调整Control控件位置
}
}
其中
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419zhk2.gif)
![](/icons/419de.gif)
![](/icons/419shuzu.gif)
![](/icons/419dou.gif)
![](/icons/419chushi.gif)
![](/icons/419dou2.gif)
解决了Control控件位置后
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419dou2.gif)
由于标题条是
![](/icons/419yi.gif)
![](/icons/419de.gif)
![](/icons/419smhl.gif)
![](/icons/419smhr.gif)
![](/icons/419yi.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419hanshu.gif)
![](/icons/419dou.gif)
BOOL b_Mark1;//面板1状态:true-展开、false-收缩
BOOL b_Mark2;//面板2状态
BOOL b_Mark3;//面板3状态
当单击
![](/icons/419yi.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419dou2.gif)
![](/icons/419yi.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419dou.gif)
![](/icons/419yi.gif)
![](/icons/419dou.gif)
![](/icons/419yi.gif)
![](/icons/419dou2.gif)
以下为单击面板3
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419hanshu.gif)
void CCurtainBoxDlg::OnTitle3
![](/icons/419kh.gif)
{
![](/icons/419if.gif)
![](/icons/419kh.gif)
{
b_Mark3 = !b_Mark3;
![](/icons/419if.gif)
{
b_Mark1 = false;
m_Title1.SetButStatus(BUT_STATUS_RIGHT);
;ShowBox1( SW_HIDE);
}
![](/icons/419if.gif)
ShowBox3( SW_SHOW );
![](/icons/419else.gif)
ShowBox3( SW_HIDE );
InvalidateBox
![](/icons/419kh.gif)
}
}
m_Title3.ClickBut
![](/icons/419kh.gif)
![](/icons/419de.gif)
![](/icons/419de.gif)
![](/icons/419hanshu.gif)
![](/icons/419dou.gif)
![](/icons/419de.gif)
b_Mark3 = !b_Mark3为更改面板3
![](/icons/419de.gif)
其下是若 3个面板都是展开
![](/icons/419de.gif)
![](/icons/419dou.gif)
ShowBox3
![](/icons/419kh.gif)
![](/icons/419de.gif)
![](/icons/419hanshu.gif)
![](/icons/419dou.gif)
void CCurtainBoxDlg::ShowBox3(
![](/icons/419int.gif)
{
CWnd *pWnd;
for(
![](/icons/419int.gif)
{
pWnd = GetDlgItem( m_Box3ID[i] );
pWnd->ShowWindow( nShow );
}
}
InvalidateBox
![](/icons/419kh.gif)
![](/icons/419diaoyong.gif)
![](/icons/419hanshu.gif)
void CCurtainBoxDlg::InvalidateBox
![](/icons/419kh.gif)
{
CalculateControlPos1
![](/icons/419kh.gif)
SetBox1Pos
![](/icons/419kh.gif)
CalculateControlPos2
![](/icons/419kh.gif)
SetBox2Pos
![](/icons/419kh.gif)
CalculateControlPos3
![](/icons/419kh.gif)
SetBox3Pos
![](/icons/419kh.gif)
InvalidateRect( &m_BoxRext );//重绘面板背景以消除残留印记
}
以上为百叶窗式面板组
![](/icons/419de.gif)
![](/icons/419dou2.gif)
最新评论