MFC_MoveWindow窗口、控件的大小、位置调整

同一个资源文件,在不同的地方显示不同,比如:

只需要把第一个界面,隐藏【数据提交详情】部分,按钮移动到合适位置,对话框调整大小就可以得到第二个对话框。

具体代码:

//获得按钮移动的高度
CRect rectStatic;
GetDlgItem(IDC_STATIC_RESULT)->GetWindowRect(rectStatic);
int nVal = rectStatic.Height();

//移动按钮
CRect rectBtn;
CWnd* wndMove = GetDlgItem(IDOK);
wndMove->GetWindowRect(rect);

ScreenToClient(rect);
if (rect.top > nTop)
    rect.top = rect.top - nTop;

if (rect.bottom > nBottom)
    rect.bottom = rect.bottom - nBottom;

wndMove->MoveWindow(rect);

//移动窗口
CRect rectDlg;// 对话框域
GetWindowRect(rectDlg);

CRect recWindow;
HWND hwnd = ::GetDesktopWindow();
::GetWindowRect(hwnd,recWindow);

CRect rectBtn;// 定位按钮域
GetDlgItem(IDC_BTN_LOCATION)->GetWindowRect(rectBtn);

if (rectDlg.bottom < rectBtn.bottom)
     return;

rectDlg.bottom = rectBtn.top + rectBtn.Height() + 10;

MoveWindow(rectDlg);

 

转载于:https://my.oschina.net/u/2930533/blog/1630550

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值