![]() |
WM_SETTEXT, fremdes Feld updaten und onUpdate auslösen
Hallo zusammen,
ich habe eine kleine Anwendung, die per WM_SETTEXT Eingaben in verschiedenen Feldern erzeugt. Das funktioniert auch wunderbar. Genaugenommen geht es um eine Anwendung, die zwei Angaben zu einer Krankenkasse "befüllt" bekommen soll. Das Problem ist nun, daß wenn die Krankenkassennummer per WM_SETTEXT gefüllt wurde, die Anwendung selber die passende Krankenkasse (als Klartext) in das zweite Feld einträgt. Wenn man die Nummer per Hand eingibt, dann passiert dies in dem Moment, wo ich per TAB ins nächste Feld wechsle - ich denke, daß in der Anwendung ein "onChange" Event definiert ist. Dies müsste ich jetzt von meiner Anwendung aus auslösen. Bis jetzt habe ich das nicht hinbekommen. Die Nummer wird korrekt eingetragen, aber die Krankenkasse wird nicht rausgesucht. Ich habe auch schonmal probiert ein chr(9) (TAB) an die Nummern anzuhängen, aber ohne Erfolg. Ich habe auch schonmal mit ein paar weiteren WM_ Nachrichten experementiert (z.B. WM_USERCHANGED) aber habe noch nichts passendes gefunden. Kann mir jemand helfen ??? lg Sebastian |
Re: WM_SETTEXT, fremdes Feld updaten und onUpdate auslösen
schick das tab lieber per message und hänge es nicht einfach an den text an.
|
Re: WM_SETTEXT, fremdes Feld updaten und onUpdate auslösen
Hi !
verstehe ich noch nicht so ganz - gibt mir doch nochmal ein Stichwort / Befehl dazu. Auch mit WM_SETTEXT ? lg Sebastian |
Re: WM_SETTEXT, fremdes Feld updaten und onUpdate auslösen
Hallo Sebastian,
TAB wird von der DialogBox (Form) zu einer Windows Message verarbeitet. Wenn du es als Text an ein Control schickst, dann hat es nicht die gewünschte Wirkung. Mache es besser so:
Delphi-Quellcode:
Frohe Weihnachten vom marabu
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
|
Re: WM_SETTEXT, fremdes Feld updaten und onUpdate auslösen
Hallo,
auch mit Postmessage hat es leider nicht hingehauen; ich habe auch mal KEYDOWN/KEYUP ausprobiert. Ich habe jetzt die Sndkey32.pas verwendet, damit gehts (?). Wenn ich das korrekt sehe, arbeitet die Routine mit KeyBordEvent ? Wie dem auch sei, trotzdem vielen Dank & frohe Weihnachten ! lg Sebastian |
Re: WM_SETTEXT, fremdes Feld updaten und onUpdate auslösen
Der Aufruf von PostMessage() ist völlig unproblematisch, nur beim Handle musst du ein wenig nachdenken: wenn h das Handle des Controls ist, dem du die WM_SETTEXT Nachricht schickst, dann darfst du die Machricht WM_NEXTDLGCTL weder an dieses Handle, noch an das Handle deiner eigenen Form schicken. Wenn du willst, dann probiere es mit GetParent(h) an Stelle von h.
marabu |
Re: WM_SETTEXT, fremdes Feld updaten und onUpdate auslösen
Vielleicht reicht auch schon, wenn du dem Fenster erst mit SetFocus den Fokus gibst und dann wieder wegnimmst - die meisten reagieren auch WM_KILLFOCUS.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 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