[Back to OOP SWAG index] [Back to Main SWAG index] [Original]
{
> The title says it all. What is the accepted way of bringing up a dialog
> box in the centre of the screen.
}
Procedure CenterDlg (HWindow : HWnd);
Var
R : TRect;
X : Integer;
Y : Integer;
Frame : Integer;
Caption : Integer;
begin
Frame := GetSystemMetrics (sm_CxFrame) * 2;
Caption := GetSystemMetrics (sm_CyCaption);
GetClientRect (HWindow, R);
With R do
begin
X := ((GetSystemMetrics (sm_CxScreen) - (Right - Left)) div 2);
Y := ((GetSystemMetrics (sm_CyScreen) - (Bottom - Top)) div 2);
MoveWindow (HWindow, X, Y - ((Caption + Frame) div 2),
Right + Frame, Bottom + Frame + Caption, False);
end;
end;
end;
{
Execute this Function from the dialog's SetupWindow method.
}
[Back to OOP SWAG index] [Back to Main SWAG index] [Original]