Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#39

Re: Zellen verbinden

  Alt 26. Jun 2008, 20:54
So, die Lösung unter Berücksichtigung des 3D-Effekt (fast OK):

Delphi-Quellcode:
procedure TfoTest05.StringGrid1DrawCell(Sender: TObject; ACol,
       ARow: Integer; Rect: TRect; State: TGridDrawState);

var r: TRect;
begin
 if aRow=1 then
  if acol=2 then // << in Spalte 2 wird der Inhalt von Spalte 1 gezeichnet
   with TStringgrid(Sender) do begin

    R := Classes.Rect(Rect.Left-ColWidths [ACol-1], // << !!!
                      Rect.Top -RowHeights[ARow-1], // << !!
                      Rect.Left-2,
                      Rect.Bottom-1);

    Canvas.Brush.Color := clRed;
    Canvas.FillRect(R);
    DrawText(Canvas.Handle,
                 PChar('Hallo ich bin es, der hier was schreibt'),
                 -1,
                 R,
                 DT_CENTER or DT_VCENTER or DT_WORDBREAK);
    end;
  end;
end;
Jetzt zeichnen wird eine Spalte SPÄTER - nachdem das Grid den 3D-Effekt gemalt hat - unsren Text in die VORHERGEHENDE Spalte! Jetzt sind nur noch winzige Punkte vom 3d-Effekt an den Aussenseiten zu sehen!
Miniaturansicht angehängter Grafiken
testbild2_135.jpg  
Ralph
  Mit Zitat antworten Zitat