Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
Delphi 10.4 Sydney
|
Re: TStringGrid: über mehrere Zellen schreiben
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
|
|
Zitat
|