Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#1

TEdit.NumbersOnly - unterschiedliches Verhalten Vista/XP

  Alt 27. Nov 2009, 16:22
Hi,

ich möchte in einem TEdit nur Zahlen zulassen. Jetzt hat ja das TEdit von Delphi 2009 die Eigenschaft NumbersOnly, die unter Vista auch super funkioniert. Unter XP kann man zwar keine Buchstaben eintippen, diese aber über STRG+V bzw. Rechtsklick trotzdem einfügen.

Im Setter dieser Eigenschaft wird mit SetWindowLong das Edit entsprechend eingestellt:

Delphi-Quellcode:
      if FNumbersOnly then
        SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or ES_NUMBER)
      else
        SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not ES_NUMBER);
Liegt das Problem hier an WinXP oder fehlt lediglich noch ein Parameter bei SetWindowLong? Oder muss ich doch selber das OnKeyPress bzw. OnChange-Ereignis behandeln?

Schöne Grüße,
Andreas
  Mit Zitat antworten Zitat