Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Tabelle in Stringgrid zeichnen (https://www.delphipraxis.net/24589-tabelle-stringgrid-zeichnen.html)

Jonny-Flash 23. Jun 2004 12:36


Tabelle in Stringgrid zeichnen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi, ich habe das Problem, das bei meiner Anwendung eine Tabelle in ein Stringgrid gezeichnet werden soll. Ich "male" jetzt die Tabelle in eine Paintbox und das funktioniert soweit auch wunderbar, allerdings ist diese hinter dem Stringgrid und somit nicht sichtbar. Außerdem soll in der Tabelle noch "gearbeitet" werden können. Kann mich da noch Zellen markieren wenn das BMP vor dem Stringgrid liegt, und ist das BMP überhaupt durchsichtig? Die Tabelle mit Canvas direkt auf das Stringgrid zu zeichnen geht ja leider nicht, da das dann immer wieder verschwindet.
Weiss da jemand einen Rat für mich. Oder hat jemand eine andere Idee, wie ich das Problem lösen kann?

Danke..

(Hab mal Bilder des Stringgrids angehängt)

CenBells 23. Jun 2004 14:49

Re: Tabelle in Stringgrid zeichnen
 
HAllo,

wie zeichnest du die Tabelle denn auf das Canvas des Stringgrids?
Ich habe sowas ähnliches auch mal gemacht und bei mir sind die zeichnungen nicht verschwunden.

Gruß
Ken

Jonny-Flash 24. Jun 2004 07:02

Re: Tabelle in Stringgrid zeichnen
 
Hallo,

ich zeichne die Tabelle mit folgendem Code:

Delphi-Quellcode:
      Rect.Left := StartX;
      Rect.Top := StartY;
      Rect.Right := EndX;
      Rect.Bottom := EndY;

      // Rahmen Zeichnen
      with Stringgrid1 do
      begin
        Canvas.Brush.Color := clBlack;
        Canvas.FrameRect(Rect);
      end;
Und der verschwindet, sobald sich ein anderes Fenster drüber schiebt.

Jonny-Flash 24. Jun 2004 14:46

Re: Tabelle in Stringgrid zeichnen
 
:gruebel: Selbst die Texte im Stringgrid "überschreiben" die Linien des Canvas. Hat den keiner eine Idee, wie man eine Tabelle in einem Stringgrid realisieren kann?

Ich bin für jeden Tip dankbar :zwinker:

CenBells 24. Jun 2004 14:54

Re: Tabelle in Stringgrid zeichnen
 
hallo,

wann zeichnest du die tabelle denn?
Du musst die Tabelle natürlich nach jedem neu zeichenen des Stringgrids wieder zeichnen. Sonst wird nur das grid gezeichnet und das wars...
Gruß
Ken

Jonny-Flash 24. Jun 2004 15:16

Re: Tabelle in Stringgrid zeichnen
 
Hallo Ken,
das Problem an der Sache ist, das die Daten für die Tabelle aus einer Datenbank stammen, und die erst zur Laufzeit geöffnet wird. Ansonsten würde das ja mit der OnPaint Methode gehen. Und ich würde gerne häufige Datenbankzugriffe vermeiden. Ich zeichne jetzt schon die Tabelle bei jeden Klick auf das Grid neu. Trotzdem sind die Linien der Tabelle weg, dabei zeichne ich schon erst den Text und dann die Linien.

supermuckl 24. Jun 2004 15:17

Re: Tabelle in Stringgrid zeichnen
 
dann speicher es in einem array zwischen


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 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