Mfc 获取对话框区域

Mfc 获取对话框区域,mfc,Mfc,我创建了一个从CDialogEx继承的公共对话框类(CCommonDlg) 现在我从CCommonDialog继承了CMyDialog。已将CMyDialog对话框资源ID传递给基类CCommonDialog。我正在尝试在对话框上画一个圆圈。因此,在CMyDialog::OnPaint()中,我尝试了以下代码: CPaintDC dc(this); CRect rect; GetWindowRect(&rect); ScreenToClient(rect); dc.Ellipse(rec

我创建了一个从CDialogEx继承的公共对话框类(CCommonDlg)

现在我从CCommonDialog继承了CMyDialog。已将CMyDialog对话框资源ID传递给基类CCommonDialog。我正在尝试在对话框上画一个圆圈。因此,在
CMyDialog::OnPaint()
中,我尝试了以下代码:

CPaintDC dc(this);
CRect rect;
GetWindowRect(&rect);
ScreenToClient(rect);
dc.Ellipse(rect);
跑步时,我看到了更大圈子的一部分。它不适合这个对话框。所以我认为GetWindowRect没有给我正确的对话框维度

有人能帮忙吗。 注意:CommonDlg是一个DLL,CMyDlg是另一个DLL。 谢谢使用此代码

CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);  //to get client area only
dc.Ellipse(rect); 
正在使用的函数,
GetWindowRect(&rect)
它还将包括窗口的标题栏,因此在该区域中,您的
椭圆将被剪裁。因此,由于您只需要在客户机区域上绘图,所以应该使用
GetClientRect(&rect)