GetWindowRect()和GetClientRect()

通过例子来说明这两个函数的具体作用。

创建一个基于Dialog的MFC应用程序工程Dialog,在对话框上添加一个按钮,其ID为IDC_BTN_ESCAPE:

GetWindowRect()和GetClientRect()_第1张图片

在DialogDlg.cpp中使用语句:

	CRect rectBtn;
	GetDlgItem(IDC_BTN_ESCAPE)->GetWindowRect(&rectBtn);

rectBtn中获取的是以屏幕为坐标轴,按钮在屏幕上的位置。

而使用下面的语句:

	CRect rectBtn;
	GetDlgItem(IDC_BTN_ESCAPE)->GetClientRect(&rectBtn);

rectBtn中获取的是以ID为IDC_BTN_ESCAPE(按钮)的窗口的最左上角的点为坐标原点,按钮的位置。

通过上述分析可知:

GetWindowRect();获取的是以屏幕为坐标轴,此窗口在屏幕上的位置。

GetClientRect();获取的是以其自身的最左上角的点为坐标原点,此窗口的位置。

你可能感兴趣的:(mfc,dialog)