Hallo zusammen,
ich weiß, bestimmt eine Anfängerfrage aber mir fällt die lösung nicht ein
ich möchte beim Selectieren von Zellen einer Stringgrid die Rahmenfarbe mit der
Selectierfarbe überschreiben, weiß aber nicht wie ich das schnell lösen kenn, hier mal ein kurzer
Auszug des Quelltextes
Delphi-Quellcode:
procedure TfrKalender.sgCalenderDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
sText : String;
begin
With sgCalender,canvas do
begin
if (gdFixed in State) then
// fixen Zellen
Brush.Color:= clBtnFace
else
if (ARow Mod 2 = 0) then
begin
// Zeilen mit gerader Zeilenzahl
Brush.Color:= $00F9FDD7;
Font.Color:= clWhite;
end
else
//Zeilen mit ungerader Zeilenzahl
Brush.Color:= clWhite;
if (ACol = 1) or (ARow = 0) then
sText :=Cells[Acol,ARow];
if sText = 'Sa.' then
begin
Font.Color := $004080FF;
Font.Style := [fsBold];
end;
if sText = 'So.' then
begin
Font.Color := clRed;
Font.Style := [fsBold];
end;
if (gdSelected in State) then
begin
[b]// hier sollen die Linien der Zellen durch die Hintergrundsfarbe ersetzt werden!![/b]
Brush.Color := $00B9B9FF;
Pen.Color := clWhite;
label1.Caption := inttostr(acol);
end;
FillRect(rect);
// Text zeichnen
TextOut(Rect.Left + 2, Rect.Top + 2, sgCalender.Cells[ACol, ARow]);
end;
end;
Für einen schnellen Tipp wäre ich sehr dankbar.
Viele Grüße
Michael