Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#4

Re: StringGrid Zellenfärben mit 3D-Effekt

  Alt 9. Aug 2008, 23:04
Hallo,

Fixed kann man nur in den ersten Spalten bzw. Zeilen setzen, also da bleibt Dir nichts anderes übrig als selber zu zeichnen in OnDrawCell.

Der folgende Code zeichnet einen 3D-Effekt über zwei Zellen in Spalte 2 + 3 in der 2-ten Zeile:
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var aRect : TRect;
begin
  if (ACol in [2,3]) and (ARow = 2) then
    begin
    aRect := Rect;
    if ACol = 2 then
      aRect.Right := aRect.Right + StringGrid1.ColWidths[3]
      else
        aRect.Left := aRect.Left - StringGrid1.ColWidths[2];
    DrawFrameControl(StringGrid1.Canvas.Handle,aRect,DFC_BUTTON,DFCS_BUTTONPUSH);
    end;
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat