Autor Beitrag
NetSpider
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 123

Windows XP Pro
Delphi 7 Enterprise
BeitragVerfasst: Mi 31.01.07 15:52 
Hi Leute,

also - irgendwie bekomm ich den letzten Schritt nicht hin. Ich will im TValueListEditor verschiedene Farben bei bestimmten Eintraegen fuer die Zellen einstellen. Die Farben kommen auch, allerdings sehe ich dann den Text nichtmehr...

Allerdings funktionieren die Abfragen noch, das heisst, der Text ist definitiv vorhanden - sonst wuerden sich ja die Farben auch nicht einstellen... Sieht so aus, als ob der Canvas den Text ueberblendet... Wie kann ich jetzt den Text wieder sichtbar machen?

Hier ist mein Source-Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TMainForm.DailyQuickInfoDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
TValueListEditor(Sender).Canvas.Font.Color := clblack;

if TValueListEditor(Sender).Keys[ARow] = 'Booking' then
TValueListEditor(Sender).Canvas.Brush.Color := clSkyBlue;
if TValueListEditor(Sender).Keys[ARow] = 'Transfers' then
TValueListEditor(Sender).Canvas.Brush.Color := $00EAF4EB;
if TValueListEditor(Sender).Keys[ARow] = 'Rooms' then
TValueListEditor(Sender).Canvas.Brush.Color := $00FFD3FF;

if State = [gdSelected, gdFocused] then begin
TValueListEditor(Sender).Canvas.Brush.Color := $00C08000;
TValueListEditor(Sender).Canvas.Font.Color := clWhite;
end;

TValueListEditor(Sender).Font.Color := clBlack;
TValueListEditor(Sender).Canvas.Font.Color := clBlack;
TValueListEditor(Sender).Canvas.fillRect(rect);
//TValueListEditor(Sender).Canvas.DrawFocusRect(Rect);
//TValueListEditor(Sender).Canvas.Ellipse(Rect);
end;


Hab schon mit Font und Canvas.Font versucht, aber er bleibt immer so wie im Screenschot...

Danke fuer eure Hilfe

NetSpider
Einloggen, um Attachments anzusehen!
_________________
Wer in die Fußstapfen anderer tritt hinterlässt keine eigenen Spuren!
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 31.01.07 15:58 
Du musst dann schon alles selber zeichnen.
Das heißt also: nach dem FillRect kommt ein TextOut.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
NetSpider Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 123

Windows XP Pro
Delphi 7 Enterprise
BeitragVerfasst: Mi 31.01.07 16:15 
Mann, mann, mann...

manchmal frag ich mich nachher... ach egal. Hier der Vollstaendigkeit halber:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TMainForm.DailyQuickInfoDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
if TValueListEditor(Sender).Keys[ARow] = 'Booking' then
TValueListEditor(Sender).Canvas.Brush.Color := clSkyBlue;
if TValueListEditor(Sender).Keys[ARow] = 'Transfers' then
TValueListEditor(Sender).Canvas.Brush.Color := $00EAF4EB;
if TValueListEditor(Sender).Keys[ARow] = 'Rooms' then
TValueListEditor(Sender).Canvas.Brush.Color := $00FFD3FF;

if State = [gdSelected, gdFocused] then begin
TValueListEditor(Sender).Canvas.Brush.Color := $00C08000;
TValueListEditor(Sender).Canvas.Font.Color := clWhite;
TValueListEditor(Sender).Canvas.FillRect(Rect);
TValueListEditor(Sender).Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, TValueListEditor(Sender).Cells[ACol, ARow]);
end else begin
TValueListEditor(Sender).Canvas.FillRect(Rect);
TValueListEditor(Sender).Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, TValueListEditor(Sender).Cells[ACol, ARow]);
end;

end;


MfG

NetSpider

_________________
Wer in die Fußstapfen anderer tritt hinterlässt keine eigenen Spuren!