Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi OnKeyPress Ereigniss bei einem nonVCL Edit? (https://www.delphipraxis.net/65090-onkeypress-ereigniss-bei-einem-nonvcl-edit.html)

Zacherl 12. Mär 2006 11:09


OnKeyPress Ereigniss bei einem nonVCL Edit?
 
Hi,
ich möchte reagieren, wenn in meinem nonVCL Edit Feld [ENTER] gedrückt wurde. Wenn ich in der MainDlgProc die WM_KEYDOWN Message abfange, bekomme ich allerdings nur Nachrichten wenn das Formular den Fokus besitzt. Auch mit WM_COMMAND habe ich es nicht geschaft, dass ich einen Tastendruck vom Edit erhalte.

Kennt sich da jemand aus, wie man das OnKeyPress Ereigniss unter nonVCL simulieren kann?

Florian

SirThornberry 12. Mär 2006 11:19

Re: OnKeyPress Ereigniss bei einem nonVCL Edit?
 
ich hätte gedacht das es dann wm_char ist.

Zacherl 12. Mär 2006 11:22

Re: OnKeyPress Ereigniss bei einem nonVCL Edit?
 
So einfach? Also im MainDlgProc auf die Message WM_CHAR warten. Wie bemerkt man, dass diese vom Edit gesendet wurde? Mit loword(wParam), oder? Das war glaube ich dann die ID des Edits.
Und der VK_ ist dann in lParam?

Luckie 12. Mär 2006 11:29

Re: OnKeyPress Ereigniss bei einem nonVCL Edit?
 
Du musst das Edit subclassen und mit einer eigenen Fensterprozedur versehen und dort auf die entsprechenden WM_KEYDOWN usw. nachrichten reagieren. Ein Kapitel über das Subclassing findest du in den Tutorials.

Zacherl 12. Mär 2006 11:31

Re: OnKeyPress Ereigniss bei einem nonVCL Edit?
 
Zitat:

Du musst das Edit subclassen und mit einer eigenen Fensterprozedur versehen und dort auf die entsprechenden WM_KEYDOWN usw. nachrichten reagieren. Ein Kapitel über das Subclassing findest du in den Tutorials.
Danke. Ich sehs mir in den Tutorials an.

Luckie 12. Mär 2006 11:41

Re: OnKeyPress Ereigniss bei einem nonVCL Edit?
 
Fällt mir gerade ein:
http://www.michael-puff.de/dirindex....phi/Programme/ -> EuroCalc

Dort habe ich die Edits ge-subclassed, damit man nur Ziffern eingeben kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 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