Einzelnen Beitrag anzeigen

VkPenguin

Registriert seit: 23. Dez 2011
150 Beiträge
 
Delphi XE7 Architect
 
#32

AW: Datenformular Oberfläche

  Alt 10. Okt 2012, 20:39
Guten Abend, ich bin es nochmal

Es tut mir leid, dass ich euch schon wieder mit Fragen zu diesem Thema löchere, hatte eigentlich gehofft, jetzt allein weiterzukommen. Aber bei meiner Stringgrid gibt es noch ein Problem, mit dem ich nicht fertig werde. Ich möchte die Eingaben des Nutzers kontrollieren, wenn er eine Zelle Editiert (in manchen Zellen sind beispielsweise nur die Werte 1,2,3 erlaubt). Bisher habe ich das mit SetEditText abgefangen, aber wenn die Zelle noch leer ist und der Benutzer sie gerade erst anklickt kommt eine Fehlermeldung, da die leere Zelle weder den Wert 1 noch 2 oder 3 hat. Ich bräuchte also ein Event, welches erst ausgelöst wird, wenn der Nutzer mit seiner Bearbeitung fertig ist.
Aber es gibt sowohl unterschiedliche Eingabemöglichkeiten - direkt über das Programm, manuell vom Nuter oder STRG+V (Was ich mit OnKeyDown abfange und dann auf alle selektierten Zellen übertrage, damit bin ich auch nicht wirklich zufrieden, es funktioniert manchmal nämlich aus irgendeinem Grund nicht...) - als auch verschiedene Arten, das Editieren zu beenden (Selektion eines anderen Feldes, Tab, Enter, Selektion eines anderen Objekts oder sogar Form/Programms...), dass ich es, egal wie ich es auch versuche, nie schaffe, alle Möglichkeiten sauber und zuverlässig abzufangen.
Ich habe schonmal nach "On Edit" und ähnlichem gesucht, konnte aber leider nicht viel hilfreiches finden. Auf dieser Seite ist von WM_ACTIVATE und WM_KILLFOCUS die rede.... Auf der Suche danach bin ich auf das gestossen; ich glaube, das ist es, was ich suche. Meine bisherigen Versuche damit waren allerdings erfolglos - hat vielleicht jemand einen Tipp oder besseren Lösungsansatz?
  Mit Zitat antworten Zitat