GetClientRect()的有关问题
GetClientRect()的问题
我做了一个登陆界面(对话框1),然后利用DoModal调用了另外一个对话框(对话框2),在对话框2中添加了TABCONTOL,在对话框2的类定义里利用GetClientRect()去获取对话框大小时,始终得到的是对话框1,而不是对话框2 的,而我想得到的是对话框2的。是否是DoModal的问题?GetClientRect()怎么用啊
------解决方案--------------------
看在哪儿调用 GetClientRect,调用时窗口是否已经成型?
------解决方案--------------------
应该是GetClientRect这个函数放错位置
------解决方案--------------------
对话框1中domodal;
void CTempDlg::OnOK()
{
CDialogTwo dlg;
dlg.DoModal();
}
对话框2中得到对话框2的大小、
BOOL CDialogTwo::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect;
GetClientRect(rect);
CString str;
str.Format("%d, %d", rect.Width(), rect.Height());
SetWindowText(str);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
没有任何问题,,
我做了一个登陆界面(对话框1),然后利用DoModal调用了另外一个对话框(对话框2),在对话框2中添加了TABCONTOL,在对话框2的类定义里利用GetClientRect()去获取对话框大小时,始终得到的是对话框1,而不是对话框2 的,而我想得到的是对话框2的。是否是DoModal的问题?GetClientRect()怎么用啊
------解决方案--------------------
看在哪儿调用 GetClientRect,调用时窗口是否已经成型?
------解决方案--------------------
应该是GetClientRect这个函数放错位置
------解决方案--------------------
对话框1中domodal;
void CTempDlg::OnOK()
{
CDialogTwo dlg;
dlg.DoModal();
}
对话框2中得到对话框2的大小、
BOOL CDialogTwo::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect;
GetClientRect(rect);
CString str;
str.Format("%d, %d", rect.Width(), rect.Height());
SetWindowText(str);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
没有任何问题,,