.


:




:

































 

 

 

 


Forml.NumMemo.DoNumStr(Msg.wParam);




End;

. .

Procedure TForml.FormKeyDown(Sender: TObject; Var Key: Word;

Shift: TShiftState);

Begin

Case Key Of

VK_DOWN: IfNuniMeino.NuinStr<NumMeino.Lines.Count+l Then NuniMemo.Perfornt(WM_USERl, 1, 0);

VK_UP: IfNumMemo.NuniStr>l Then

SendMessage(NumMemo.Handle, WM_USER1, -1, 0);

VK_RETURN: PostMessage(NumMemo.Handle, WM_USER1,1, 0);

End;

End;

, Windows.

- , . - , ( ). , a Delphi .

Events . Delphi , TForm Begin End.

. Delphi , Windows. , , . , .

- , Sender, - . , , , . Sender. , , Sender , . TObject, TObject ( ). Sender - .

, , - , .

, , . Delphi , .

, , . , (TLabel), , :

. ;

(trap the event). , , .

) .

TNotifyEvent , Sender, , . Classes :

Type TNotifyEvent=Procedure(Sender: TObject) Of Object;

OnClick - . :

Procedure TForml.FormClick(Sender: TObject);

Begin

ShowMessage(' !');

End;

) .

, () , . , ( OnMouseDown), , . , . TMouseEvent, Delphi :

Type TMouseEvent^Procediu^Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer) Of Object;

, , OnMouseDown Events . - ,

, :

Procedure TForml.FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

Begin

Forml.Canvas.Font.Color:=clBIue; // Forml.Canvas.Brush.CoIor:=cIBtnFace; // Forml.Canvas.TextOut(X, Y, 'X='+IntToStr(X)+' Y='+IntToStr(Y));

End;

, .

- , , , , . (delegation). , , . - , () . :

<oemI>.<coblmue>'.=:<oem2>.<comlte>;

, () "" :

<>.<>:=!^11;

, . , Delphi . . , (Self), , (.. Self).

Type TAnyEvent=Procedure(Sender: TObject; VarAValue; Integer) Of Object;

TlstClass=Class //

FOnMyEvent: TAnyEvent;

Property OnMyEvent: TAnyEvent Read FOnMyEvent Write FOnMyEvent;

End;

T2ndClass=CIass // -

Procedure SetValuel(Sender: TObject; Var AValue: Integer);

Procedure SetValue2(Sender; TObject; VarAValue: Integer);

End;

Var Objl: TIstClass;

Obj2: T2ndClass;

Begin

Objl:=TlstClass.Create;

Obj2:=T2ndClass.Create;

Obj 1.0nMyEvent:=Obj2.SetValuel; II

Obj 1.0nMyEnent:=Obj2.SetValue2; It

Obj 1.OnMyEnent:=Nil; //

, , Delphi - , . , . , .

, , - , .

, , , , Is:

If Sender Is <0 Then <onepamop>;

, Tag , :

If </cnacc>(Sender).Tag==l Then <onepamop>\

If (Sender As <^acc>).Tag=l Then <onepamop>\

Delphi . , Events, . Delphi .

, , :

Var AnyEvent, NameEvent: <mun >;

Begin

AnyVlVeat'.xs:<oem>.<comue>, NameEvent:=<ayKfl >;

If@AnyEvent=@NameEvent Then <onepamop>\

:

Var AnyEvent: <mun >;

Begin

AnyEvent:=<o6'beKm>.<co6btmue>',

Labell.Caption:=MethodName(@AnyEvent); // Label2.Caption:=Format('%p', [@AnyEvent]); //





:


: 2016-10-30; !; : 324 |


:

:

, , .
==> ...

803 - | 764 -


© 2015-2024 lektsii.org - -

: 0.021 .