Hogyan programozható meg egy eseményre vonatkozó eljárást
Hogyan programozhatok egy eseményre vonatkozó eljárást?
Varázslók, mondja meg, hogyan programozható (!) Állítson be egy eljárást, amelyet egy adott eseményen hívni fognak? Egyszerűbben megmagyarázom: az Object Inspector Események lapján kiválaszthatja bármelyik eseményt, és választhatja ki a megfelelő eljárást az Ön számára a jobb oldalon, és hogyan csinálhatja programilag?
Ie valami ilyesmi:
Control.OnMouseClick: = Eljárásnév (de nem pontosan, mert a Delphi nem csapja be ezt a bejegyzést)
> ProcedureName (de nem teljesen, mert a Delphi így van
> írni nem hawala)
Nem csak az eljárás, hanem a tárgy MÓDSZERE.
eljárás MouseClick (Sender: TObject);
.
Control.OnMouseClick: = MouseClick;
Tudsz példát írni? Úgy értem ilyen gyorsan
FreeLancer - ez nem működik, már írtam.
eljárás TForm1. MouseClick (Sender: TObject);
.
Control.OnMouseClick: = Form1.MouseClick;
// vagy csak: = MouseClick az 1. formanyomtatványon belül
> ELKa (05.12.02 12:08)
> FreeLancer - így nem működik, írom már.
Mit jelent ez nem működik?
eljárás TForm1.FormCreate (Feladó: TObject);
kezdődik
btn: = TButton.Create (Form1);
btn.Parent: = Form1;
btn.Left: = 0;
btn.Top:=0;
btn.OnClick: = Button1Click;
végén;
eljárás TForm1.Button1Kattintson (Feladó: TObject);
kezdődik
Form1.Grid.Cells [0,0]: = "000000";
végén;
Az a dolog az, hogy a komponensemnek nem létezik olyan eseménye, amelyet meg kell határoznom
> ELKa (05.12.02 12:17)
A dolog az, hogy a komponensemnek nem létezik ilyen
> egy eseményt, amelyet meg kell határoznom
És talán ez az esemény először meg van határozva ?:-)
Nos, ez rendeződött ki. És akkor: "NEM MŰKÖDIK" :-)
típus
TForm1 = osztály (TForm)
FormCreate eljárás (Feladó: TObject);
magán
nyilvános
eljárás ControlClick (Sender: TObject); // Ez lesz a te módod
végén;
var
Form1: TForm1;
eljárás TForm1.ControlClick (Sender: TObject);
kezdődik
// Mit fogsz csinálni a módszerben?
végén;
eljárás TForm1.FormCreate (Feladó: TObject);
kezdődik
MyControl: = TMyContol.Create (önmagában);
MyControl.Click:= Form1.ControlClick
végén;