AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

direktive "message"

Ein Thema von Pseudemys Nelsoni · begonnen am 4. Feb 2005 · letzter Beitrag vom 22. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

direktive "message"

  Alt 4. Feb 2005, 20:35
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:
procedure WMSetFocus(var msg: TWMSetFocus); message WM_SETFOCUS;

...

procedure TForm2.WMSetFocus(var msg: TWMSetFocus);
begin
  ShowMessage('hi');
end;
es wird beim entern in mein richedit aber keine message angezeigt
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: direktive "message"

  Alt 4. Feb 2005, 20:48
Zitat:
wie funktioniert das ganze mit der "message" direktive? kann ich damit nachrichten prozefuren überschreiben die an das fenster gesendet werden?
Ja, das kannst du. In deinem Beispiel wird die Nachrich für eine Instance des Types "TForm2" behandelt und keine Instance von "TEdit".
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: direktive "message"

  Alt 4. Feb 2005, 21:06
hm,

wie kann ich denn ein setfocus für ein richedit abfangen? (mit "message")
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: direktive "message"

  Alt 4. Feb 2005, 21:11
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;
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: direktive "message"

  Alt 4. Feb 2005, 21:39
Delphi-Quellcode:
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;
Es sollte genug selbserklärend sein.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: direktive "message"

  Alt 4. Feb 2005, 21:57
Was war an meiner Erklärung weniger verständlich?
PseudoDingsbums ist ja nicht so doof wie sein Nickname.
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: direktive "message"

  Alt 4. Feb 2005, 22:11
Ich wollte nur auf die Nummer sicher gehen..
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: direktive "message"

  Alt 4. Feb 2005, 22:59
moin,

danke sniper/robert Mit anderen Worten, ich muss eine klasse von TRichEdit ableiten, damits klappt, das weusst ich nicht


Zitat:
PseudoDingsbums ist ja nicht so doof wie sein Nickname.
das ist aber nicht nett *g*
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#9

AW: direktive "message"

  Alt 21. Mär 2011, 21:23
Hallo,

und was bewirkt die Message Direktive:

hier:

procedure WMxxxxxxx(var Msg: TWMxxxxxxxx); [B]Message WM_xxxxxxxxx;[/B]
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#10

AW: direktive "message"

  Alt 21. Mär 2011, 22:19
Wird eine Message mit dieser ID an das Handle des entsprechenden TWinControl gesendet, dann wird diese Methode aufgerufen.
Aber zuerst kommt die Message bei procedure WndProc(var Message: TMessage); override; vorbei.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz