Позиционирование каретки в TStringGrid

Советы » Мышка и Курсор » Позиционирование каретки в TStringGrid

{ 
  The following code allows you to position the caret 
  in a cell (InplaceEditor) of a StringGrid. 
  We need a Cracker class to access the InplaceEditor. 

  Mit folgendem Code kann man den Cursor in einer Zelle 
  (InplaceEditor) eines StringGrids positionieren. 
  Hierfur brauchen wir eine "Cracker" Klasse, weil der 
  InplaceEditor "protected" ist. 
}

 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

; // Get the Caret position from the focussed cell // Ermittelt die Caret-Position der aktuellen Zelle function

GetCaretPosition(Grid: TStringGrid): Integer; begin

with

TGridCracker(Grid) do

Result := InplaceEditor.SelStart; end

; // Example / Beispiel: // Set the focus on col 1, row 3 and position the caret at position 5 // 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

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com