win32 C/C++程序窗口居中

1、要实现窗口居中显示并不难,只要在窗体创建的时候我们设置窗口的位置就可以了.在这里我们主要用到3个API函数,分别是:GetSysMetrics,GetWindowRect,SetWindowPos.
我们用GetSysMetrics来获的屏幕的宽度和高度,然后用GetWindowRect来获取窗口的坐标.通过运算后计算出居中窗口的位置,最后用 SetWindowPos来设置窗体的位置.整个过程就是如此,而这些部步骤我们都要在窗口创建之前设置好,所以我们要把这些实现方法写进 WM_CREATE消息中.

2、代码如下:

	case WM_CREATE:
		{
			int scrWidth,scrHeight;
			RECT rect;
			//获得屏幕尺寸
			scrWidth = GetSystemMetrics(SM_CXSCREEN);
			scrHeight = GetSystemMetrics(SM_CYSCREEN);
			//取得窗口尺寸
			GetWindowRect(hWnd,&rect);
			//重新设置rect里的值
			rect.left = (scrWidth-rect.right)/2;
			rect.top = (scrHeight-rect.bottom)/2;
			//移动窗口到指定的位置
			SetWindowPos(hWnd,HWND_TOP,rect.left,rect.top,rect.right,rect.bottom,SWP_SHOWWINDOW);
		}
		break;

3、效果图

image

posted @ 2012-12-29 17:09  浪浪仔  阅读(5450)  评论(0编辑  收藏  举报