Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Selektierten Text in einer Zelle eines Stringgrids bestimmen


Rassi - Fr 17.07.09 11:34
Titel: Selektierten Text in einer Zelle eines Stringgrids bestimmen
Hallo.

Ich arbeite Mit Delphi 2007.

Ich möchte den selektierten Text in einer Zelle eines Stringgrids ermitteln.

Für das Edit-Feld gibt es die Befehle SelStart und SelLength:

Delphi-Quelltext
1:
Delete(strLeser, Editfeld.SelStart+1, Editfeld.SelLength);                    


Wie bestimme ich den Selektierten Beteich eines Textes bei einem Stringgrid?

Den Zelleninhalt selbst bekomme ich über:

Delphi-Quelltext
1:
strLeser:= StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row];                    


Aber ich brauche den markierten Bereich des Textes.

Gruß
Rasmus


Lannes - Fr 17.07.09 11:53

Hallo,

da brauchst Du den Zugriff auf den InplaceEditor, den erhälst Du durch einen Rückgriff auf TCustomGrid.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
//... hinter uses
type THackGrid = class(TCustomGrid);

//...
  private
    FGrid : THackGrid; //Zugriff auf TCustomGrid

//...
procedure TForm1.FormCreate(Sender: TObject);
begin
  FGrid := THackGrid(StringGrid);//Zugriff auf TCustomGrid
end;

//...
procedure TForm1.Button1Click(Sender: TObject);
begin
  if StringGrid.EditorMode then// sonst Zugriffsfehler
    // mach was mit FGrid.InplaceEditor.SelText
end;


Die Geschichte kannst Du so erweitern, das selbst auf Tastatureingaben reagiert werden kann :wink:


Rassi - Mo 20.07.09 16:24

Hallo.

Bin eben erst dazu gekommen es zu testen. Klappt super.
Vielen Dank für die Hilfe.

Gruß
Rasmus