paxScript Demo. Delegates and Event Handlers.


paxBasic

Imports StdCtrls, Forms

Dim F As TForm = new TForm(NULL)
Dim B As TButton = new TButton(F)

F.Show
B.Parent = F
B.Caption = "Click Me"
B.OnMouseDown = AddressOf MouseHandler

Sub MouseHandler(Sender, Button, Shift, X, Y)
  print Sender.Caption
  print Button
  print Shift
  print X
  print Y
End Sub

paxC

using StdCtrls, Forms;

TForm F = new TForm(NULL);
TButton B = new TButton(F);

F.Show();
B.Parent = F;
B.OnMouseDown = & MouseHandler;
B.Caption = 'Click Me';

function MouseHandler(Sender, Button, Shift, X, Y){
  print Sender.Caption;
  print Button;
  print Shift;
  print X;
  print Y;
}

paxPascal

uses StdCtrls, Forms;
var
  F = TForm.Create(nil),
  B = TButton.Create(F);

F.Show;
B.Parent := F;
B.OnMouseDown := @ MouseHandler;
B.Caption := 'Click Me';

procedure MouseHandler(Sender, Button, Shift, X, Y);
begin
  print Sender.Caption;
  print Button;
  print Shift;
  print X;
  print Y;
end;