Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Edit-Feld nur Zahlen erlauben (https://www.delphipraxis.net/25696-edit-feld-nur-zahlen-erlauben.html)

StefanDP 10. Jul 2004 17:16


Edit-Feld nur Zahlen erlauben
 
Hi!
Ich hab ein Edit nonVCL und möchte im prinzip folgenden code realisieren:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
     if not (key in [#8,#48..#57]) then key:=#0;
end
wie mach ich das jetzt nonvcl?
wenn ich mit meiner wndproc WM_KEYDOWN abfrage, springt das nur an, wenn der focus aufm fenster ist und nicht, wenn der focus im edit ist, bzw. das edit aktiv ist.

stefan

Niko 10. Jul 2004 17:34

Re: Edit-Feld nur Zahlen erlauben
 
Hi,

du musst die WM_KEYDOWN-Message des Edits verarbeiten.

Das Stichwort hierzu heißt Subclassing. Dazu findest du Informationen in Luckies Tutorials und im PSDK.

mirage228 10. Jul 2004 18:02

Re: Edit-Feld nur Zahlen erlauben
 
Hi,

oder benutze den Stil ES_NUMBER

Delphi-Quellcode:
SetWindowLong(Edit1Handle, GWL_STYLE, GetWindowLong(Edit1Handle,
    GWL_STYLE) or ES_NUMBER);
Edit1Handle ist dann durch das Handle des Edits zu ersetzen.

mfG
mirage228

StefanDP 10. Jul 2004 18:05

Re: Edit-Feld nur Zahlen erlauben
 
danke! Ich hab das ES_NUMBER einfach in das dwStyle von createwindowex genommen! funzt perfekt!

ABer des mit dem Subclassing werd ich mir auf jeden fall trotzdem anschauen!


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