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、效果图