Just call this function to center the form on the screen (for example in the OnShow event).
procedure centerizeform(f:TForm);begin f.Top:=(Screen.WorkAreaHeight-f.Height) div 2; if f.Top<0 then f.Top:=0; f.Left:=(Screen.WorkAreaWidth-f.Width) div 2; if f.Left<0 then f.Left:=0;end;_________________________________________________________________________
If the above code doesn't work for you, just Try This Code Below :
procedure TForm1.FormCreate(Sender: TObject); begin Left:=(Screen.Width-Width) div 2; Top:=(Screen.Height-Height) div 2; end;
_________________________________________________________________________ Center a form on screen at runtime
procedure CenterForm (AForm: TForm);
var ALeft, ATop: integer;
begin ALeft : = (Screen.Width - AForm.Width) div 2;
ATop : = (Screen.Height - AForm.Height) div 2;
{ prevents form being twice repainted! }
AForm.SetBounds (ALeft, ATop, AForm.Width, AForm.Height); end;
_________________________________________________________________________ Center a form over active form at runtime
procedure CenterFormOverActive (AForm: TForm);
var ALeft, ATop: integer;
begin ALeft : = Screen.ActiveForm.Left + (Screen.ActiveForm.Width div 2) - (AForm.Width div 2);
ATop : = Screen.ActiveForm.Top + (Screen.ActiveForm.Height div 2) - (AForm.Height div 2);
{ prevent form from being outside screen }
if ALeft < 0 then ALeft := Screen.ActiveForm.Left;
if ATop < 0 then ATop := Screen.ActiveForm.Top;
if (ALeft + AForm.Width > Screen.Width) or (ATop + AForm.Height > Screen.Height) then
CenterForm (AForm) else
{ prevents form being twice repainted! }
AForm.SetBounds (ALeft, ATop, AForm.Width, AForm.Height); end;







Friday, January 21, 2011
iwan RFID
