Registriert seit: 8. Nov 2006
1.360 Beiträge
Delphi 10.3 Rio
|
Linien im StringGrid zeichnen Ohne OnDrawCell
16. Jun 2008, 15:01
Tag
Folgendes ich versuche die Linen im StringGrid nicht im OnDrwa Ereignis zu zeichnen sondern im Button geht das Irgenwie
weil wenn sich meine überschrift im Label ändert sollen andere linien gezeichnet werden.
Im Button gehts nicht nicht im OnDrawCell ja
Delphi-Quellcode:
procedure TForm7.Button1Click(Sender: TObject);
Var n :integer;
begin
if Label3.Caption = 'Arbeitszeit' then
begin //Linien zwischen Zellen erzeugen
n:= 0;
repeat
n:= n + 4;
if (StringGrid1.Row = n) and (StringGrid1.Col >= StringGrid1.FixedCols) then
begin
StringGrid1.Canvas.Pen.Color := clBlack; // Linienfarbe
StringGrid1.Canvas.Pen.Width := 2; // Stärkt der Linie
StringGrid1.Canvas.MoveTo(Rect.Left,Rect.Bottom);
StringGrid1.Canvas.LineTo(Rect.Right,Rect.Bottom);
end;
until n= 24;
end;
// zellen verbinden für Spalte 0
if (StringGrid1.Col = 0) And (StringGrid1.Row In [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17, 18, 19, 21, 22, 23]) then
begin
StringGrid1.Canvas.Pen.Color := clWhite;
StringGrid1.Canvas.Pen.Width := 2;
StringGrid1.Canvas.MoveTo(Rect.Left, Rect.Bottom);
StringGrid1.Canvas.LineTo(Rect.Right, Rect.Bottom);
end;
// Liene neben der klasse erzeugen
if (StringGrid1.Col = 1) And (StringGrid1.Row In [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]) then
begin
StringGrid1.Canvas.Pen.Color := clBlack;
StringGrid1.Canvas.Pen.Width := 1;
StringGrid1.Canvas.MoveTo(Rect.Right, Rect.Top);
StringGrid1.Canvas.LineTo(Rect.Right, Rect.Bottom);
end;
end;
end;
hoffe mir kann jemand helfen
Gruß Sascha
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...
Surft Ihr mit dem Taschenrechner?"
|