![]() |
direktive "message"
hi,
wie funktioniert das ganze mit der "message" direktive? kann ich damit nachrichten prozefuren überschreiben die an das fenster gesendet werden? ich hab mal folgendes versucht:
Delphi-Quellcode:
es wird beim entern in mein richedit aber keine message angezeigt :(
procedure WMSetFocus(var msg: TWMSetFocus); message WM_SETFOCUS;
... procedure TForm2.WMSetFocus(var msg: TWMSetFocus); begin ShowMessage('hi'); end; |
Re: direktive "message"
Zitat:
|
Re: direktive "message"
hm,
wie kann ich denn ein setfocus für ein richedit abfangen? (mit "message") |
Re: direktive "message"
Natürlich indem du den Handler in einem Nachfahren von TRichEdit implementierst. ;)
Delphi-Quellcode:
type TMiep = class(TRichEdit)
procedure WMSetFocus(var msg: TWMSetFocus); message WM_SETFOCUS; end; |
Re: direktive "message"
Delphi-Quellcode:
Es sollte genug selbserklärend sein.
type
TmyRichEdit = class(TRichEdit) procedure WMSetFocus(var msg: TWMSetFocus); message WM_SETFOCUS; end; TForm1 = class(TForm) RichEdit1: TRichEdit; Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } REdit : TmyRichEdit; end; var Form1: TForm1; done : boolean = false; implementation {$R *.dfm} procedure TmyRichEdit.WMSetFocus(var msg: TWMSetFocus); begin inherited; if not done then begin Application.MessageBox('Und jetzt ist die schon ausgeführt.','FOCUS MESSAGE'); done := true;// damit nur einmal diese Meldung kommt end; end; procedure TForm1.FormCreate(Sender: TObject); begin REdit := TmyRichEdit.Create(self); with REdit do begin Parent := Self; Align := alLeft; Visible := true; end; end; procedure TForm1.FormDestroy(Sender: TObject); begin REdit.Free; end; |
Re: direktive "message"
Was war an meiner Erklärung weniger verständlich? :gruebel:
PseudoDingsbums ist ja nicht so doof wie sein Nickname. :zwinker: :mrgreen: |
Re: direktive "message"
Ich wollte nur auf die Nummer sicher gehen.. :wink: :???:
|
Re: direktive "message"
moin,
danke sniper/robert ;) Mit anderen Worten, ich muss eine klasse von TRichEdit ableiten, damits klappt, das weusst ich nicht ;) Zitat:
|
AW: direktive "message"
Hallo,
und was bewirkt die Message Direktive: hier:
Delphi-Quellcode:
procedure WMxxxxxxx(var Msg: TWMxxxxxxxx); [B]Message WM_xxxxxxxxx;[/B]
|
AW: direktive "message"
Wird eine Message mit dieser ID an das Handle des entsprechenden TWinControl gesendet, dann wird diese Methode aufgerufen.
Aber zuerst kommt die Message bei
Delphi-Quellcode:
vorbei.
procedure WndProc(var Message: TMessage); override;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz