Raster im StringGrid erzeugen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
//Matrix im StringGrid zeichnen
//M=Zeilenanzahl
//N=Spaltenanzahl
procedure DrawMatrix(Grid: TStringGrid; ACol, ARow, M, N: Integer; LineColor: TColor;
LineWidth: Integer; State: TGridDrawState; Sender: TObject; Rect: TRect);
begin
//Horizontale Linien ohne Fixed Spalten
if ((ARow-Grid.FixedRows+1) MOD M = 0) AND NOT (gdFixed In State) Then
begin
with (sender as TStringGrid).Canvas do
begin
Pen.Color := LineColor;
Pen.Width := LineWidth;
Pen.Style := psSolid;
MoveTo(Rect.Left-1,Rect.Bottom);
LineTo(Rect.Right-1,Rect.Bottom);
end;
end;
//Vertikale Linien ohne Fixed Zeilen
if ((ACol-Grid.FixedCols+1) MOD N = 0) AND NOT (gdFixed In State) Then
begin
with (sender as TStringGrid).Canvas do
begin
Pen.Color := LineColor;
Pen.Width := LineWidth;
Pen.Style := psSolid;
MoveTo(Rect.Right,Rect.Top-1);
LineTo(Rect.Right,Rect.Bottom-1);
end;
end;
end;
Beispiel-Aufruf:
//Procedure im OnDrawCell des Grid aufrufen
procedure TForm1.GridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
//5X5 Matrix zeichnen
DrawMatrix(Grid, ACol, ARow, 5, 5, clBlack, 2, State, Sender, Rect);
end;
Ähnliche Seiten:
- 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
- Äquivalent zu ColSpan in HTML in TStringGrid
- Zeile eines StringGrids löschen
- Zeilen in einem StringGrid tauschen