StringGrid Eingabe



  • Nabend.

    Ich möchte mir RETURN bei der Eingabe im StringGrid zur nächsten unteren Zelle springen.

    void __fastcall TForm1::StringGrid1KeyPress(TObject *Sender, char &Key)
    {
        if (Key==VK_RETURN)
        {
            if (StringGrid1->Row < StringGrid1->RowCount - 1)
            {
                StringGrid1->Row++;
            }
            else
            {       
                StringGrid1->Row = 1;
            }
        }
    }
    

    TInplaceEdit kennt SelectAll(), aber wie komme ich daran um dies manuell zu setzen?
    Mein "Problem" ist jetzt, das der Text für die Eingabe nicht SelectAll() wurde. Wenn man mit Maus in eine Celle klickt wird der Text zum ändern komplett vormarkiert, das hätte ich auch gern beim "weiterschalten" zur nächsten Eingabe.

    Kann wer helfen?



  • listman schrieb:

    Wenn man mit Maus in eine Celle klickt wird der Text zum ändern komplett vormarkiert, das hätte ich auch gern beim "weiterschalten" zur nächsten Eingabe.

    Funktioniert hier (BCB2007 auf XP) problemlos, ohne etwas einzustellen.



  • Welche Optionen hast du denn bei dem StringGrid gesetzt - goEditing und goAlwaysShowEditor?

    Mittels "StringGrid->EditorMode = true" kommst du auf jeden Fall schon mal in den Editier-Modus, falls du goAlwaysShowEditor nicht gesetzt hast.



  • StringGrid->EditorMode = true
    

    Hat mir weitergeholfen! Vielen Dank!


Anmelden zum Antworten