AGB  ·  Datenschutz  ·  Impressum  







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

StringGrid DrawCell Werte sind unsichtbar

Ein Thema von peter314 · begonnen am 12. Nov 2010 · letzter Beitrag vom 12. Nov 2010
 
peter314

Registriert seit: 3. Dez 2008
22 Beiträge
 
#7

AW: StringGrid DrawCell Werte sind unsichtbar

  Alt 12. Nov 2010, 20:00
Endlich!!

Ich suche jetzt in DrawCell nach der selektierten Zelle und weise ihr die Hintergrundfarbe zu.
Außerdem setzte ich Font.Color bereits beim Übermalen der Zelle dadurch bleibt die Farbe auch wie sie sein soll. Anscheinend muss man die Farbe schon früher setzen, damit sie korrekt ist.
Hier mein Code.

Delphi-Quellcode:
procedure TForm1.StundenplanDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
var
s: string;
begin
 with Sender as TStringGrid do begin
  if FrList1.Liste.ItemIndex>-1 then begin
   if Cells[ACol,ARow]= FrList1.Liste.Selected.Caption then begin
    Canvas.Pen.Color:= clwhite;
    Canvas.Brush.Color:= clHighlight;
    Canvas.FillRect(Rect);
   end else begin
    if (ACol=0) or (ARow=0) then begin
      Canvas.Pen.Color:=clblack;
      Canvas.Brush.Color:= StundenPlan.FixedColor;
    end else begin
     if (state= [gdSelected]) or ((ACol=Selection.Left) and (ARow=Selection.Top)) then begin
      Canvas.Brush.Color:= clwhite;
     end else
      Canvas.Pen.Color:=clwhite;
     Canvas.Font.Color:= clBlack; //Schriftfarbe auch für die Selektierte Zelle
     Canvas.FillRect(Rect);
    end;
   end;
  end else begin
   if (ACol=0) or (ARow=0) then begin
    Canvas.Pen.Color:=clblack;
    Canvas.Brush.Color:= StundenPlan.FixedColor;
   end else begin
    if (state= [gdSelected]) or ((ACol=Selection.Left) and (ARow=Selection.Top)) then
     Canvas.Brush.Color:= clHighlight
    else
     Canvas.Brush.Color:= clwhite;
    Canvas.Pen.Color:=clwhite;
    Canvas.FillRect(Rect);
   end;
  end;
   Font.Color:= $010101; //--> Diese Farbe wird nicht für die selektierte Zelle verwendet
   s:= Cells[ACol,ARow];
   DrawText(Canvas.Handle,PChar(s),length(s),Rect,DT_Left);
  end;
end;
Vielen Dank nochmal an euch alle.

Mfg

Peter
  Mit Zitat antworten Zitat
 


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 07:39 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 by Thomas Breitkreuz