有时我们希望程序运行时窗口显示在屏幕中央,其实现的方法有很多
如msdn中有
Example
// Alter the styles of the main frame window. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { // Create a window without min/max buttons or sizable border. cs.style = WS_OVERLAPPED | WS_SYSMENU | WS_BORDER; // Size the window to 1/3 screen size and center it. cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3; cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3; cs.y = ((cs.cy * 3) - cs.cy) / 2; cs.x = ((cs.cx * 3) - cs.cx) / 2; return CFrameWnd::PreCreateWindow(cs); }
另外还可以在框架类的构造函数中这样实现:
canvasFrame::canvasFrame()
{
Create(NULL,"演示窗口");
CClientDC dc(this);
int width = dc.GetDeviceCaps(HORZRES);
int height = dc.GetDeviceCaps(VERTRES);
GetWindowRect( &rect );
width = ( width - ( rect.right - rect.left ))/2 ;
height = (height - (rect.bottom - rect.top ))/2 ;
MoveWindow( width , height , (rect.right - rect.left ) , (rect.bottom - rect.top ) ,true);
}