对话框收缩与扩展

void CTestDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
CString str;
if (GetDlgItemText(IDC_BUTTON2, str), str == "收缩")
{
SetDlgItemText(IDC_BUTTON2, "扩展");
}
else
{
SetDlgItemText(IDC_BUTTON2, "收缩");
}


CRect rectLarge;
CRect rectSmall;


if (rectLarge.IsRectNull())
{
CRect rectSeparator;


GetWindowRect(&rectLarge);
GetDlgItem(ID_SEPARATOR)->GetWindowRect(&rectSeparator);
rectSmall.left = rectLarge.left;
rectSmall.top= rectLarge.top;
rectSmall.right = rectLarge.right;
rectSmall.bottom = rectSeparator.bottom;
}
if (str == "收缩")
{
SetWindowPos(NULL, 0, 0, rectSmall.Width(), rectSmall.Height(), SWP_NOMOVE | SWP_NOZORDER);
}
else
{
SetWindowPos(NULL, 0, 0, rectLarge.Width(), rectLarge.Height(), SWP_NOMOVE | SWP_NOZORDER);
}

}


---------------------------------------------------------------------------------------------------------------------

在按钮的方法下,定义变量CString str;

使用GetDLgItemText()进行判断

使用SteDlgItemText()设置

在对话框上增加分隔符,用以表示切割部分,分隔符可用图像控件来表示

定义CRect变量,判断是否为空IsRectEmpty/IsRectNull,定义分隔符变量获取分隔符信息尺寸,将对话框右下角信息即底部的高,再判断是否为对应按钮字符str

来使用SetWindowPos进行判断设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值