Autor Beitrag
FloFri
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 97



BeitragVerfasst: Do 09.10.03 08:14 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Sa 18.10.03 10:02 
ja. Hier ein Beispiel:

ausblenden 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

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Sa 18.10.03 21:11 
Oder meinst du eine Klasse von TComponent? Dann geht es so:
ausblenden 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)

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.