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

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

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

具体代码:class

//得到按钮移动的高度
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);
相关文章
相关标签/搜索