MFC 对话框是分页的,折叠按钮在第二页上
这时候,怎么实现对话框的折叠与展开啊?
我的目的是,点击第二页上的折叠按钮,就将下面三分之二的对话框折叠,只显示上面三分之一,因为东西太多,不能让对话框占太多面积,挡住画布上的东西。
[解决办法]
你可以先设置一个标志,来判定是否折叠。
if(bExtended==TRUE)
{
int x, y;
CRect rline, rc;
GetWindowRect(&rc);
GetDlgItem(IDC_SEPERATOR)->GetWindowRect(&rline);
x=GetSystemMetrics(SM_CXSCREEN)/2-width/2;
y=GetSystemMetrics(SM_CYSCREEN)/2;
this->MoveWindow(x, y-rline.top/2,
width, (rline.top-rc.top), true);
UpdateWindow();
bExtended=false;
GetDlgItem(IDC_EXTEND)->SetWindowText("高级设置↓");
}
else
{
GetDlgItem(IDC_EXTEND)->SetWindowText("高级设置↑");
int x, y;
x=GetSystemMetrics(SM_CXSCREEN)/2-width/2;
y=GetSystemMetrics(SM_CYSCREEN)/2-height/2;
this->MoveWindow(x, y,
width, height, TRUE);
UpdateWindow();
bExtended=true;
}
以上是一种操作希望对你有帮助
[解决办法]
需要折叠的部分是一个对话框,点击折叠按钮的时候,把这个对话框隐藏,不就实现你要的折叠了吗?