(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
Delphi 11 Alexandria
|
14. Okt 2002, 00:41
Moin Chewie,
Du brauchst nicht für jede Message eine eigene Methode.
Prinzipiell kannst Du das alles in der WndProc abarbeiten.
Code:
[b]type[/b]
TForm1 = [b]class[/b](TForm)
[b]private[/b]
[b]protected[/b]
[color=#000080]// Die Default WndProc überschreiben[/color]
[b]procedure[/b] WndProc([b]var[/b] msg : TMessage); override;
[b]public[/b]
[b]end[/b];
[b]var[/b]
Form1: TForm1;
[color=#000080]// Die selbst registrierte Message steht in dwMessage zur Verfügung[/color]
dwMessage : DWORD;
[b]implementation[/b]
[color=#000080]{$R *.DFM}[/color]
[color=#000080]// Abfragen der Message[/color]
[b]procedure[/b] TForm1.WndProc([b]var[/b] msg : TMessage);
[b]begin[/b]
[b]if[/b] msg.Msg = dwMessage [b]then[/b]
[b]begin[/b]
[color=#000080]// Was auch immer passieren soll, wenn Deine Message empfangen wurde;[/color]
[b]end[/b]
[b]else[/b]
[b]begin[/b]
[color=#000080]// Wichtig, damit der Rest auch noch funktioniert.[/color]
[color=#000080]// man kann die ursprüngliche WndProc auch immer aufrufen,[/color]
[color=#000080]// was aber im Falle einer eigenen Message eher unwichtig ist[/color]
[color=#000080]// Fängt man "normale" Messages ab, kommt's drauf an, ob die[/color]
[color=#000080]// Originalmessage standardmässig verarbeitet werden soll oder nicht.[/color]
[b]inherited[/b] WndProc(msg);
[b]end[/b];
[b]end[/b];
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|