AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TEdit: numbersOnly erweitern oder Meldung nutzen

TEdit: numbersOnly erweitern oder Meldung nutzen

Ein Thema von fkerber · begonnen am 19. Mär 2011 · letzter Beitrag vom 19. Mär 2011
Antwort Antwort
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

TEdit: numbersOnly erweitern oder Meldung nutzen

  Alt 19. Mär 2011, 10:10
Hi,

ich habe ein Edit-Feld, in das neben Zahlen auch der Decimal-Separator eingegeben werden können soll.
Daher kann ich die Eigenschaft numbersOnly ja nicht nutzen.
Das ist technisch kein Problem, es gibt ja onKeyPress und dann macht man es eben selbst.
Was dabei aber etwas auf der Strecke bleibt, ist die Rückmeldung an den Nutzer - daher die Frage: Kann man irgendwie diese Meldung antriggern, die kommt, wenn numbersOnly gesetzt ist und eine Nicht-Zahl eingegeben wird?
Oder numbersOnly so ausdehnen, dass ich den Decimal-Separator da mit reinnehmen kann?


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.570 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TEdit: numbersOnly erweitern oder Meldung nutzen

  Alt 19. Mär 2011, 11:28
NumbersOnly stetzt einfach nur den Window-Style MSDN-Library durchsuchenES_NUMBER.
Dieses kann man wohl nur noch weiter einschränken und nicht mehr erweitern.

Also dann doch alles selber machen (gibt ja genügend Codebeispiele dafür in der DP zu finden),
und für die Anzeige nimmst du einen BalloonTip.

PS: OnKeyDown alleine hilft nichts. OnCange muß mindestens auch noch geprüft werden, denn sonst könnte man ja einfach ungültige Zeichen reinkopieren.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

AW: TEdit: numbersOnly erweitern oder Meldung nutzen

  Alt 19. Mär 2011, 12:02
Hi,

ja, so werde ich es dann wohl machen.
In dem Fall reicht auch onKeyPress für mich, das verhindert ja Strg+V grad mit und das PopupMenu ist auch deaktiviert.

LG, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.570 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: TEdit: numbersOnly erweitern oder Meldung nutzen

  Alt 19. Mär 2011, 12:59
SendMessage+WM_SETTEXT oder SetWindowText
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 11. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#5

AW: TEdit: numbersOnly erweitern oder Meldung nutzen

  Alt 19. Mär 2011, 16:55
WindowProc überschreiben:
Delphi-Quellcode:
procedure TForm1.Edit1WndProc(var Message: TMessage);
var
  Input: Char;
begin
  Input := Chr(Message.WParam);
  if (Message.Msg = WM_CHAR) and (Input = FormatSettings.DecimalSeparator) then
    Edit1.SelText := Input
  else
    FOldEdit1WndProc(Message);
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 23:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf