Date: 10 June 1997
Author: Jeff Lawson
Try this:
void TMyDialog::CenterWindow(void) { // center the dialog on the screen TRect dRect = GetWindowRect(); int width = ::GetSystemMetrics(SM_CXSCREEN); int height = ::GetSystemMetrics(SM_CYSCREEN); TPoint topLeft((width - dRect.Width()) / 2,(height - dRect.Height()) / 2); TRect newPosition(topLeft,dRect.Size()); MoveWindow(newPosition, true); }
or, if your target platform is 32-bit only, you can just add the DS_CENTER style to your dialog in the resource editor.
See Also: Getting the Size of the Screen