M mott Medlem sedan juni 2000 1 356 inlägg Trådstart 8 okt. 2001 21:52 #1 Hej! Jag håller på att gå över från VB till Delphi och har lite svårt att hitta vissa saker.
Jag försöker göra en funktion för att centrera formen på skärmen.
Själva koden är ju rätt självklar:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
frmPensionStart.Left:=Screen.Width div 2 - frmPensionStart.Left div 2;
frmPensionStart.Top:=Screen.Height div 2 - frmPensionStart.Height div 2;
Men nu vill jag ju inte bara centrera frmPension utan vilken form som helst.
Dessutom vill jag kunna kalla på centrera-funktionen varifrån som helst, vilken form som helst.
Alltså typ (i VB)
Modul:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Function CenterWindow(Window)
Window.left=...osv
Window.top=...osv
End Function
Valfri form:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
CenterWindow(Me)
--
Hur i H-E gör jag detta i Delphi? *desperat*
J jt Medlem sedan juni 2000 350 inlägg Två exempel på hur du deklarerar funktioner så du kan anropa dessa globalt. Du måste lägga till Unit1 i uses när du vill anväda funktionen från någon annan unit.
uses
unit1;
Form1.CenterWindowA(Me)
CenterWindowB(Me)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
function CenterWindowA(AForm: TForm):boolean;
end;
var
Form1: TForm1;
function CenterWindowB(AForm: TForm):boolean;
implementation
uses Unit2;
{$R *.DFM}
function TForm1.CenterWindowA(AForm: TForm): boolean;
begin
AForm.Position := poScreenCenter;
end;
function CenterWindowB(AForm: TForm):boolean;
begin
AForm.Position := poScreenCenter;
end;
end.
[Redigerat av jt den 09 okt 2001]