int x = GetSystemMetric(SM_CXFULLSCREEN)
int y = GetSystemMetric(SM_CYFULLSCREEN)//获取屏幕宽度和高度
CRect rect
GetClientRect(&rect)
SetWindowPos(NULL,(x-rect.left)/2,
(y-rect.bottom)/2,rect.right,rect.bottom,SWP_NOZORDER)
(默认)左上角为原点O,向右为 X 轴正向,向下为Y 轴正向;若想改变原点,可采用CDC类的成员函数SetViewportOrg (int x, int y);
例如:设窗口中心点为坐标原点
CDC* pDC = GetDC()
CRect rect
GetClientRect(&rect)
pDC->SetViewportOrg(rect.right/2, rect.bottom/2)
若还想改变 X , Y 方向,比如常用的笛卡尔坐标系,即 X 轴右为正,Y 轴上为正,
可用函数SetMapMode( ****),参数自己可去查MSDN,根据自己需要设置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)