![]() |
Stringrid Selektion eines Feldes wegnehmen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe jetzt das Problem, dass ich bei der Zuweisung auf dem Textfeld eine Selektion des Wertes habe (siehe Screenshot). Nach dem weiteren eingeben wird der vorherige Werte gelöscht, durch die Selektion. Wie kann ich denn die Selektion wegnehmen?
Delphi-Quellcode:
procedure TMainGUI.JvStringGrid2SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: string); begin // Begrenzung des Wertes auf 16 Zeichen if ((length(Value) > 16) and (ACol = 1)) then begin JvStringGrid2.Cells[ACol,ARow]:= Copy(Value,0,16); // Jetzt hat das Feld den Fokus und wenn man weiter was eingibt, wird der Wert gelöscht end; end; Danke euch! |
Re: Stringrid Selektion eines Feldes wegnehmen
Hallo
Mit folgendem Code kannst du den Cursor in einer Zelle (InplaceEditor) des TStringGrids positionieren. Hierfür verwenden wir eine "Cracker" Klasse, da der InplaceEditor "protected" ist.
Delphi-Quellcode:
type
TGridCracker = class(TStringGrid); {...} implementation {...} procedure SetCaretPosition(Grid: TStringGrid; Col, Row, X_Pos: Integer); begin Grid.Col := Col; Grid.Row := Row; with TGridCracker(Grid) do InplaceEditor.SelStart := X_Pos; end; // Ermittelt die Caret-Position der aktuellen Zelle function GetCaretPosition(Grid: TStringGrid): Integer; begin with TGridCracker(Grid) do Result := InplaceEditor.SelStart; end; // Beispiel: Fokusiert die Zelle(1,3) und setzt den Cursor auf Position 5 procedure TForm1.Button1Click(Sender: TObject); begin StringGrid1.SetFocus; SetCaretPosition(StringGrid1, 1, 3, 5); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz