Hallo zusammen,
ich würde gerne über Messages dementsprechend bei Buttons reagieren. Ich habe schon ein paar Beiträge zu Messages gelesen und schonmal soweit dieses Beispiel erstellt.
Delphi-Quellcode:
type
TForm3 = class(TForm)
Memo1: TMemo;
SpeedButton1: TSpeedButton;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
procedure MyMessages(var Msg: TMsg; var Handled: Boolean);
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
begin
Application.OnMessage := MyMessages;
end;
procedure TForm3.MyMessages(var Msg: tagMSG; var Handled: Boolean);
var
I: Integer;
begin
case Msg.message of
WM_LBUTTONDOWN:
begin
Memo1.Lines.Add('TestButton');
end;
end;
end;
Funktioniert auch alles soweit. Jetzt möchte ich aber zum Beispiel bei bestimmten Buttons das gleiche ausführen. Dazu ändere ich die Procedure MyMessages so ab :
Delphi-Quellcode:
procedure TForm3.MyMessages(var Msg: tagMSG; var Handled: Boolean);
var
I: Integer;
begin
case Msg.message of
WM_LBUTTONDOWN:
begin
if TSpeedButton(Sender).Name = 'SpeedButton1' then
Memo1.Lines.Add('TestButton');
end;
end;
end;
Dann kommt immer undefinierter Bezeichner 'Sender'. Hier stellt sich mir die Frage wieso ?
Für eine Erklärung, einen Hinweis oder Links zu passenden Tutorials wäre ich dankbar.
Edit: Titel geändert