Benutzereingabe abbrechen



  • Hallo zusammen,

    wie kann ich eine Eingabe des Benutzers abbrechen? Ich habe eine VSFlexGrid-Komponente, die mehrere Zeilen und Spalten anzeigt. Wenn der Benutzer nun in eine Zelle klickt und etwas reinschreiben möchte, so möchte ich dies unterbinden. Eine Art Sperrung der Zelle.

    Es gibt die Methode "OnBeforeEdit()". Diese Methode könnte ich doch eigentlich dazu nutzen, um im Vorfeld zu überprüfen, ob der Benutzer in die entsprechende Zelle etwas reinschreiben kann. Aber wie unterbreche ich dann die komplette Eingabe?

    Sowas auf die Art:

    void __fastcall TFormMainIS_Design::VSFlexGridPrimitivesBeforeEdit(
    	  TObject *Sender, long Row1, long Row2, short *Cmp)
    {
       if(Cell[VSFlexGridPrimitives->Row][VSFlexGridPrimitives->Col] == Disabled)
          //Abbrechen der Edit-Aktion!
    }
    

    Ich versuche deshalb eine Sperrfunktionalität zu implementieren, da die VSFlexGrid-Komponente (ComponentOne) meines Wissens keine eigene Sperrung von einzelnen Zellen zulässt. Nur von ganzen Zeilen bzw. Spalten. Falls jemand diese Komponente kennt, kennt jemand eine bessere Lösung?

    Danke



  • Bist du sicher, dass du hier im richtigen Forum bist?
    http://www.componentsource.com/products/componentone-vsflexgrid-pro/forum.html

    Davon unabhängig sollte die Komponente eigentlich über eine eingebaute Option verfügen, mit der das Editieren gesteuert werden kann.
    Im TStringGrid des BCB wäre das z.B. goEditing in TStringGrid::Options.

    Edit: Sorry, habe deinen letzten Absatz übersehen.


Log in to reply