Äquivalent zu ColSpan in HTML in TStringGrid |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
In HTML verbindet das Attribut ColSpan in einer Tabelle mehrere Zellen in einer Zeile zu einer Zelle. Folgender Quellcode, der im OnDrawCell-Ereignis eines TStringGrids abgearbeitet wird, erreicht ähnliches:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
I, X, Y: Integer;
begin
If (gdFixed In State) or (ARow <> StringGrid1.FixedRows) Then
Exit;
If aCol < Pred(StringGrid1.ColCount) then
Rect.Right := Rect.Right + StringGrid1.GridlineWidth;
X := Rect.Left + 2;
Y := Rect.Top + 2;
for I := StringGrid1.FixedCols to ACol-1 do
X := X - StringGrid1.ColWidths[I] - StringGrid1.GridlineWidth;
StringGrid1.Canvas.Brush.Color := clYellow;
StringGrid1.Canvas.Brush.Style := bsSolid;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextRect(Rect, X, Y, StringGrid1.Cells[StringGrid1.FixedCols,
StringGrid1.FixedRows]);
end;
In dem obigen Beispiel werden alle Zellen der erste Zeile nach den festen Zeilen und ab der letzten festen Spalte zu einer Zelle zusammengefasst. Dabei wird der Text ausgegeben, der in der linken, oberen Zelle (+ die festen Zellen) steht.Hat Ihr StringGrid beispielsweise zwei feste Zeilen und eine feste Spalte, wird die dritte Zeile ab der zweiten Spalte zu einer Zelle zusammengefasst. Es wird dabei der Text aus der Zelle mit den Koordinaten (1,2) genommen.Der Fokus dieser zusammengelegten Zellen wird allerdings nach wie vor getrennt behandelt.Bis Delphi 3 heißen die Parameter ACol und ARow noch Col bzw. Row.
- Text im StringGrid ausrichten
- StringGrid Text vertikal ausgeben
- Stringgrid-Zelle per Programmcode selektieren
- Einträge in einer Listbox markieren
- Schreibschutz bei bestimmten Zellen eines TStringgrid
- Zeilen eines Stringgrids färben
- Trennlinie im Stringgrid hervorheben
- Zeile eines StringGrids löschen
- Zeilen in einem StringGrid tauschen
- Bitmap in ein StringGrid zeichnen