AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi In StringGrid-Zeilen mit einem Balken navigieren
Thema durchsuchen
Ansicht
Themen-Optionen

In StringGrid-Zeilen mit einem Balken navigieren

Ein Thema von LOMBI · begonnen am 24. Sep 2006 · letzter Beitrag vom 26. Okt 2006
Antwort Antwort
Seite 1 von 3  1 23      
LOMBI
(Gast)

n/a Beiträge
 
#1

In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 18:44
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:
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;
Leider funktioniert mein Code nicht. Die Titelzeile (Cell[0])soll nicht markiert werden. Wer hilft mir bitte?

Gruß
Lombi
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 18:46
Was funktioniert nicht? macht er garnichts oder das Falsche?
Markus Kinzler
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#3

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 18:58
Nein, es passiert gar nichts!
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#4

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 19:28
Meine StringGrid-Einstellungen lauten:

ColCount := 9;
RowCount := 1;
Fixed Color : = clRed;
FixedCols := 8;
FixedRows := 0;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 19:36
Ist .DefaultDrawing gesetzt ?
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 19:54
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:
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;
Es gibt da noch einige Feinheiten zu beachten, aber so solltest du zumindest schon etwas sehen.

Grüße vom marabu
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#7

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 20:00
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ß.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 20:03
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
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#9

Re: In StringGrid-Zeilen mit einem Balken navigieren

  Alt 24. Sep 2006, 20:23
@ marabu

ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); Vom Programm werden die Änderungen ACol und ARow nicht akzeptiert.

Zitat:
Deine Einstellungen sind tatsächlich etwas seltsam. Willst du wirklich 8 feststehende Spalten am linken Rand? Und Titelzeile (FixedRows) hast du gar keine festgelegt.
Also, meine Titelleiste besteht aus 8 Spalten und soll in clRed einge-
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?
  Mit Zitat antworten Zitat
24. Sep 2006, 20:42
Dieses Thema wurde von "MrSpock" von "Datenbanken" nach "VCL / WinForms / Controls" verschoben.
StringGrid ist nicht direkt mit Datenbanken verknüpft. Darum ab nach VCL.
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz