Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TStringGrid: über mehrere Zellen schreiben

  Alt 14. Sep 2009, 19:52
Hallo,

sooooo,
jetzt sieht es so aus.

siehe Anhang



Delphi-Quellcode:
procedure TForm1.GridDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  MyRect : TRect;
  iCol : Integer;
begin
  if ((ACol=1) or (ACol=2)) and
     (ARow=0) then
  begin
    Grid.DefaultDrawing:= False;

    if (ACol=2) then Exit;

    iCol:= 1;

    MyRect:= Grid.CellRect(iCol,ARow);

    MyRect.TopLeft:= Rect.TopLeft;
    MyRect.BottomRight:= Rect.BottomRight;
    MyRect.Right:= MyRect.Right*2;
// MyRect.Right:= MyRect.Right+Grid.DefaultColWidth;

    Grid.Canvas.FillRect(MyRect);

// Frame3D(Grid.Canvas, MyRect, clBtnFace, clBlack, MyRect.Right-MyRect.Left);

    MyRect.Left:= MyRect.Left+2;
    MyRect.Top:= MyRect.Top+2;

    DrawText(Grid.Canvas.Handle, PChar(Grid.Cells[iCol,ARow]),
      Length(Grid.Cells[iCol,ARow]), MyRect, DT_LEFT);

// Frame3D(Grid.Canvas, MyRect, clBtnFace, clBlack, MyRect.Right-MyRect.Left);
  end
  else
  begin
    Grid.DefaultDrawing:= True;
  end;
end;
Aber das Frame3D erzeugt nur Müll ;(
Auch das ausgeklammerte MyRect.Right:= MyRect.Right+Grid.DefaultColWidth;
erzeugt nur Müll ;(

Hat denn keiner einen funktionierenden Quellcode ?? ;(


Heiko
Heiko
  Mit Zitat antworten Zitat