Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Die Zelle werd zwar Blau aber der Text nicht Weiss (https://www.delphipraxis.net/42517-die-zelle-werd-zwar-blau-aber-der-text-nicht-weiss.html)

PeterKiers 20. Mär 2005 10:24


Die Zelle werd zwar Blau aber der Text nicht Weiss
 
Hallo Liebe Leute,

Ich habe eine Frage! Ich habe eine Procedure gefunden in dieser
Foren, die genau dass tut was ich von ihr will.

Mein Programm kontroliert eine Anzahl Servers.
Ich habe eine Stringgrid mit einer Menge Servernamen,
und mein Programm läuft durch die Zelle um die
Servernamen zu kontrollieren.

Wenn mein Programm durch die Zellen läuft,
dann muss der hintergrund blau werden, und der
Text weiss.

Mit der hier unter angegebenen Procedure
wird die Zelle zwar blau, aber der Text wird
nicht weiss.

Ist vielleicht jemand, der mir hierbei helfen kann?

Delphi-Quellcode:
procedure TForm1.GridServersDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Kleur: TColor;
begin
  with (Sender as TStringGrid) do
  begin
    if gdFixed in State then Kleur := FixedColor
    else if IsWaiting then Kleur := Color
    else if gdFocused in State then Kleur := clActiveCaption
    else if gdSelected in State then Kleur := clLime
    else Kleur := Color;
    with Canvas do
    begin
      Brush.Color := Kleur;
      Font.Color := clBlack;
      FillRect(Rect);
      if not IsWaiting and (gdFocused in State) then
      begin
       Draw(Rect.Left, Rect.Top, Image1.Picture.Graphic);
       Rect.Left := Rect.Left + Image1.Width +2;
       end;
       TextOut(Rect.Right - TextWidth(Cells[ACol, ARow]) - 2,
              Rect.Top + 2, Cells[ACol, ARow]);
    end;
  end;
end;
Peter Kiers

Tryer 20. Mär 2005 10:29

Re: Die Zelle werd zwar Blau aber der Text nicht Weiss
 
Zitat:

Zitat von PeterKiers
Delphi-Quellcode:
(..)
      Font.Color := clBlack;
(..)

Komisch aber auch :roll:

MfG,
Tryer

semo 20. Mär 2005 10:31

Re: Die Zelle werd zwar Blau aber der Text nicht Weiss
 
so wie es ausschaut wird ja bei dem oben genanten Code NUR die Hintergrundfarbe der Zelle geändert und die Textfarbe ist IMMER schwarz

semo 20. Mär 2005 10:36

Re: Die Zelle werd zwar Blau aber der Text nicht Weiss
 
versuche es mal so:
Delphi-Quellcode:
procedure TForm1.GridServersDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  bgColor:  TColor;
  fontColor: TColor;
begin
  with (Sender as TStringGrid) do
  begin
    if gdFixed in State then
    begin
      bgColor  := FixedColor
      fontColor := clBlack;
    end else if IsWaiting in State then
    begin
      bgColor  := Color;
      fontColor := clBlack;
    end else if gdFocused in State then
    begin
      bgColor  := clActiveCaption;
      fontColor := clWhite;
    end else if gdSelected in State then
    begin
      bgColor  := clLime;
      fontColor := clWhite;
    end else
    begin
      bgColor  := Color;
      fontColor := clBlack;
    end;
   
   
    with Canvas do
    begin
      Brush.Color := bgColor;
      Font.Color := fontColor;
      FillRect(Rect);
      if not IsWaiting and (gdFocused in State) then
      begin
       Draw(Rect.Left, Rect.Top, Image1.Picture.Graphic);
       Rect.Left := Rect.Left + Image1.Width +2;
       end;
       TextOut(Rect.Right - TextWidth(Cells[ACol, ARow]) - 2,
              Rect.Top + 2, Cells[ACol, ARow]);
    end;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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