![]() |
In StringGrid-Zeilen mit einem Balken navigieren
Hallo,
ich benötige in einem StringGrid einen gelben Balken, mit dem ich eine beliebige Zeile auswählen kann (zB.per Click od. mit Pfeiltasten).
Delphi-Quellcode:
Leider funktioniert mein Code nicht. Die Titelzeile (Cell[0])soll nicht markiert werden. Wer hilft mir bitte?
procedure TFRechn.StringGridRedatDrawCell(Sender: TObject;
Col, Row: Integer; Rect: TRect; State: TGridDrawState); var index: Integer; begin index := Row * StringGridRedat.ColCount + Col; with Sender As TStringGrid do begin if gdSelected in State then Canvas.Brush.Color := clYellow; Canvas.Font.Color := clBlack; end; Gruß Lombi |
Re: In StringGrid-Zeilen mit einem Balken navigieren
Was funktioniert nicht? macht er garnichts oder das Falsche?
|
Re: In StringGrid-Zeilen mit einem Balken navigieren
Nein, es passiert gar nichts!
|
Re: In StringGrid-Zeilen mit einem Balken navigieren
Meine StringGrid-Einstellungen lauten:
ColCount := 9; RowCount := 1; Fixed Color : = clRed; FixedCols := 8; FixedRows := 0; |
Re: In StringGrid-Zeilen mit einem Balken navigieren
Ist .DefaultDrawing gesetzt ?
|
Re: In StringGrid-Zeilen mit einem Balken navigieren
Hallo Lombi,
die Index-Berechnung aus dem Borland Beispiel-Code dient nur der Wandlung vom zweidimensionalen Zellenindex zu einem eindimensionalen Array-Index. Diesen Teil kannst du wegschmeißen. Dass nichts zu sehen ist liegt wahrscheinlich daran, dass du auch keine Ausgabe machst.
Delphi-Quellcode:
Es gibt da noch einige Feinheiten zu beachten, aber so solltest du zumindest schon etwas sehen.
procedure TFRechn.StringGridRedatDrawCell(Sender: TObject;
ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin with Sender As TStringGrid do begin if (ARow = Row) and (ACol >= FixedCols) then Canvas.Brush.Color := clYellow else Canvas.Brusch.Color := clWhite; Canvas.FillRect(Rect); end; end; Grüße vom marabu |
Re: In StringGrid-Zeilen mit einem Balken navigieren
Ja, ist auf True;
Ich meine, es liegt an den Einstellungen meiner Titelleiste! Die ist rot eingefärbt und hat 8 Spalten. Wenn ich Zeilen mit Daten hinzufüge, dann sind die ebenfalls rot und nicht wie gewünscht in weiß. |
Re: In StringGrid-Zeilen mit einem Balken navigieren
Deine Einstellungen sind tatsächlich etwas seltsam. Willst du wirklich 8 feststehende Spalten am linken Rand? Und Titelzeile (FixedRows) hast du gar keine festgelegt.
marabu |
Re: In StringGrid-Zeilen mit einem Balken navigieren
@ marabu
Delphi-Quellcode:
Vom Programm werden die Änderungen ACol und ARow nicht akzeptiert.
ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
Zitat:
färbt sein. Das ist bei mir nur der Fall, wenn FixedCols := 8; Jede weitere Zeile mit Daten möchte ich in weiß haben, ist aber auch in rot. FixedRows := 1 o.k? Was bitte ist zu tun? |
DP-Maintenance
Dieses Thema wurde von "MrSpock" von "Datenbanken" nach "VCL / WinForms / Controls" verschoben.
StringGrid ist nicht direkt mit Datenbanken verknüpft. Darum ab nach VCL. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 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