Einzelnen Beitrag anzeigen

Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Linien im StringGrid zeichnen Ohne OnDrawCell

  Alt 16. Jun 2008, 14: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 = 'Arbeitszeitthen
 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?"
  Mit Zitat antworten Zitat