Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Message-Behandlung an eigene Klasse abgeben?
FloFri - Do 09.10.03 08:14
Titel: Message-Behandlung an eigene Klasse abgeben?
Hi!
Ich habe mal wieder eine Frage:
Gibt es eine Möglichkeit (möglichst einfach) die Behandlung aller selbst definierten Messages, die ein Fenster bekommt, an eine eigene Klasse weiterzugeben?
MSCH - Sa 18.10.03 10:02
ja. Hier ein Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| const wm_SelfMessage_1 = wm_user + 1; wm_SelfMessage_2 = wm_user + 2; ...
type tMyMessageform = CLass(TForm) public procedure WMSelfMessage_1(var Msg:TMessage);Message wm_SelfMessage_1; procedure WMSelfMessage_2(var Msg:TMessage);Message wm_SelfMessage_2; end; |
jetzt die Implementierung (spar ich mir)
Nun Musst du nur deine MainForm statt von TForm, von TMyMessageForm ableiten.
grez
msch
maxk - Sa 18.10.03 21:11
Oder meinst du eine Klasse von TComponent? Dann geht es so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure MyWndProc(var Msg:TMessage); begin inherited; end;
constructor TMyComponent.Create(AOwner:TComponent); begin (AOwner as TForm).DefWndProc:=@MyWndProc; end; |
Dann gehen alle Nachrichten an deine Prozedur. (inherited nicht Vergessen)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!