同一个资源文件,在不同的地方显示不同,比如:
只需要把第一个界面,隐藏【数据提交详情】部分,按钮移动到合适位置,对话框调整大小就可以得到第二个对话框。
具体代码:
//获得按钮移动的高度
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);