Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi drawgrid linien stärker zeichnen (https://www.delphipraxis.net/37090-drawgrid-linien-staerker-zeichnen.html)

transporter2 30. Dez 2004 21:08


drawgrid linien stärker zeichnen
 
ich würde gern wissen wie man bei einer drawgrid von den zellinhalten bestimmte linien dicker
zeichnen kann. also zum beispiel soll jede 5.linie dicker sein. wie bei millimeterpapier.

Joe24 30. Dez 2004 21:36

Re: drawgrid linien stärker zeichnen
 
Entspricht das deinen Vorstellungen?

Delphi-Quellcode:
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if ( aCol mod 5) = 0 then
    with DrawGrid1.Canvas do
      with Rect do
        begin
          MoveTo( Left, Top);
          LineTo( Left, Bottom);
        end;
end;

transporter2 30. Dez 2004 21:55

Re: drawgrid linien stärker zeichnen
 
passiert nichts jede linie bleibt gleich dick.

Dax 30. Dez 2004 21:57

Re: drawgrid linien stärker zeichnen
 
Und so?
Delphi-Quellcode:
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if (aCol mod 5) = 0 then
    with DrawGrid1.Canvas do
      with Rect do
        begin
          MoveTo(Left+1, Top);
          LineTo(Left+1, Bottom);
        end;
end;

transporter2 30. Dez 2004 22:00

Re: drawgrid linien stärker zeichnen
 
immer noch gleich

Joe24 30. Dez 2004 22:02

Re: drawgrid linien stärker zeichnen
 
Bei mir funktioneiert es.
Jede 5 Spalte wird eine dickere Linie gezeichnet, vorausgesetzt TDrawGrid-Objekt hat mehr als 5 Spalten.

Sind die Linien deines TDrawGrid-Objekt bereits breiter als 1 pt?
Die Ereignisbehandlungsmethode must du natürlich noch an deine Anfordeungen anpassen (Farbe, Linienbreite).
Ist Ereignisbehandlungsmethode über das entsprechende OnDrawCell-Event auch registriert?

transporter2 30. Dez 2004 22:12

Re: drawgrid linien stärker zeichnen
 
Wie kann mann Linien Waagerecht verschieben???

Joe24 30. Dez 2004 23:43

Re: drawgrid linien stärker zeichnen
 
Wie meinst du das mit "waagerecht verschieben"?

Wenn du die Höhe der einzelnen Zeilen meinst,
dann alle Zeilen einheitlich mit DefaultRowHeight oder
individuell mit RowHeights[Index: Longint].
Analog dazu gilt DefaultColHeight, ColHeights[Index: Longint]
für die Spalten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz