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

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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
  • 2022-01-15
  • 2022-03-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2021-11-06
  • 2021-07-10
相关资源
相似解决方案