MFC对话框部分区域的显示和隐藏功能的实现

有时在进行MFC界面软件设计时,需要实现模块区域在使用到时才显示出来,不需要的时候可以进行隐藏的功能。其方法如下:

1.创建对话框;

2.在xxxDlg.h文件中定义矩形变量:

   private:
    CRect m_RectLarge;    //整个,整体全部面积区域
    CRect m_RectSmall;    //隐藏之后的面积区域

3.在OnInitDialog()初始化函数中添加以下代码,该代码用于初始化时隐藏区域功能:

   CRect m_RectShow;    //显示部分的面积区域
    GetWindowRect(&m_RectLarge);
    GetDlgItem(IDC_SHOW)->GetWindowRect(&m_RectShow);
    m_RectSmall.left = m_RectLarge.left;
    m_RectSmall.top = m_RectLarge.top;
    m_RectSmall.right = m_RectLarge.right;
    m_RectSmall.bottom = m_RectShow.top;
    SetWindowPos(NULL,0,0,m_RectSmall.Width(),m_RectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);

4.创建 button按钮,并在回调函数OnBnClickedBtnShow()中实现:

   {
    // TODO: 在此添加控件通知处理程序代码
    CString str;    
    GetDlgItemText(IDC_BTN_SHOW, str);
    if(str == _T("扩展显示>>"))
    {
        SetDlgItemText(IDC_BTN_SHOW, _T("隐藏显示<<"));
        SetWindowPos(NULL, 0, 0, m_RectLarge.Width(), m_RectLarge.Height(),SWP_NOMOVE|SWP_NOZORDER);
    }
    else if(str == _T("隐藏显示<<"))
    {
        SetDlgItemText(IDC_BTN_SHOW, _T("扩展显示>>"));
        SetWindowPos(NULL, 0, 0, m_RectSmall.Width(), m_RectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);
    }
}

完成,其结果如下所示:

                    

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值