MFC 运行后对话框居中显示

运行后对话框居中显示

//功能:对话框显示位置
//arg:对话框的句柄
void CDemo01Dlg::SetDlgCenterDisplay(HWND hDlgWnd)
{
	//RECT rect;
	//::GetWindowRect(hDlgWnd, &rect);

	//int nX = ::GetSystemMetrics(SM_CXFULLSCREEN);
	//int nY = ::GetSystemMetrics(SM_CYFULLSCREEN);

	//int nW = rect.right - rect.left;
	//int nH = rect.bottom - rect.top;

	//::MoveWindow(hDlgWnd, (nX - nW) / 2, (nY - nH) / 2, nW, nH, TRUE); //显示居中


	CRect rect;
	::GetWindowRect(hDlgWnd, &rect);

	int nX = ::GetSystemMetrics(SM_CXFULLSCREEN);
	int nY = ::GetSystemMetrics(SM_CYFULLSCREEN);

	int nW = rect.Width();
	int nH = rect.Height();

	::MoveWindow(hDlgWnd, (nX - nW) / 2, (nY - nH) / 2, nW, nH, TRUE); //显示居中
}

二、函数说明

1、::GetWindowRect:获取窗口的高和宽,存放在坐标rect。

2、::GetSystemMetrics:获取名目的高宽,不同参数获取不同数据。

3、::MoveWindow:移动窗口,后面跟着左上角和右下角的坐标。

你可能感兴趣的:(MFC,mfc,c++,visual,studio)