AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Einzelne Zellen im Grid markieren ??

Ein Thema von seifman · begonnen am 7. Nov 2003 · letzter Beitrag vom 11. Nov 2003
Antwort Antwort
seifman
(Gast)

n/a Beiträge
 
#1

Einzelne Zellen im Grid markieren ??

  Alt 7. Nov 2003, 19:14
Hallo!

Ich weiss, daß es möglich ist im Stringgrid die Zeilen verschiedenfarbig darzustellen. Es muß doch auch irgendwie möglich sein, nur einen bestimmten Bereich der Zellen farbig zu markieren, ohne daß ich die gesamte Zeile einfärben muß. Falls das nicht möglich ist, wäre ich über Hinweise erfreut, wie ich das in anderen Grids machen kann.

Damit man sich in etwa eine Vorstellung machen kann, wie das ganze Aussehen soll, habe ich hier mal ein Bild bereitgestellt. Es wäre nett, wenn mir jemand dabei helfen könnte, da ich in Sachen Delphi noch ein absolutes Greenhorn bin.



[edit=sakura]Ich habe das Bild mal als Anhang gespeichert. So bleibt dieses auch in Zukunft verfügbar Damit kannst Du es auch wieder vom Server löschen. Mfg, sakura[/edit]
Miniaturansicht angehängter Grafiken
mgrid.png  
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Einzelne Zellen im Grid markieren ??

  Alt 7. Nov 2003, 19:41
Im OnDrawCell-Ereignis kann man in die Zellen zeichnen.
Das wird für jede Zelle aufgerufen, wenn sie neu gezeichnet wird.
ACol und ARow gibt die zu zeichnente Zelle an.
In Rect steht die Position der Zelle im StringGrid1.Canvas.

Delphi-Quellcode:
Procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
  Begin
    {es wird jede Zelle in der 5. Spalte und 3. Zeile rot gefüllt}
    If (ACol = 4) or (ARow = 2) Then Begin {Abfrage ob rot ausgefüllt wird}
      StringGrid1.Canvas.Brush.Color := clRed;
      StringGrid1.Canvas.FillRect(Rect);
    End;
  End;
$2B or not $2B
  Mit Zitat antworten Zitat
seifman
(Gast)

n/a Beiträge
 
#3

Re: Einzelne Zellen im Grid markieren ??

  Alt 7. Nov 2003, 20:02
Danke. Aber das hatte ich auch schon mal probiert. Jedoch hatte ich dabei das Problem, das ein Text, der in der Zelle Stand einfach nicht angezeigt wurde.
Gibt es vieleicht noch eine andere Lösung dafür?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Einzelne Zellen im Grid markieren ??

  Alt 7. Nov 2003, 20:26
Wusste nicht mehr, das Schrift auch schon vor dieser Routine hingeschrieben wurde.
(hatte das nur mit einem leeren StringGrid getestet)

Also muss diese auch noch gezeichnet werden.
Delphi-Quellcode:
Procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
  Begin
    If (ACol = 4) or (ARow = 2) Then Begin
      StringGrid1.Canvas.Brush.Color := clRed;
      StringGrid1.Canvas.FillRect(Rect);
{}    StringGrid1.Canvas.Font := StringGrid1.Font;
{}    StringGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2,
{}      StringGrid1.Cells[ACol, ARow]);
    End;
  End;
$2B or not $2B
  Mit Zitat antworten Zitat
seifman
(Gast)

n/a Beiträge
 
#5

Re: Einzelne Zellen im Grid markieren ??

  Alt 11. Nov 2003, 18:12
Danke dir vielmals.
Es funktioniert jetzt so, wie ich das wollte.
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:33 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