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 Textposition in einem Grid (https://www.delphipraxis.net/40300-textposition-einem-grid.html)

sts1254 14. Feb 2005 00:45


Textposition in einem Grid
 
Hallo Zusammen,

ich lese hier schon seit einer geraumen Zeit und habe auf dieses Problem bisher noch keine Antwort gefunden:
Wenn man Text in eine Stringgrid-Zelle einfügt wird dieser nicht direkt unter der Trennlinie der Zelle angezeigt, sondern es ist immer ein gewisser Abstand vorhanden. Links ist das ähnlich, aber das Wichtige ist der obere Abstand. Kann man in einem OnDraw-Event irgendwas machen oder weiß Jemand eine Lösung? Wäre super, wenn man das lösen könnte.

Vielen Dank
sts1254

Hansa 14. Feb 2005 00:51

Re: Textposition in einem Grid
 
Hi,

wie machst du es denn jetzt ? Für so was am besten einen kleinen Screenshot anfügen.

sts1254 14. Feb 2005 01:37

Re: Textposition in einem Grid
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Hansa,

habe jetzt mal einen Screenshot angefügt. Prinzipiel soll nachher mal jede Zeile im Grid so aussehen, wie die obere im Bild. Die unteren 3 Zeilen sind der aktuelle Stand. Hier kann man sehen, daß der Abstand oberhalb des Textes um ein vielfaches größer ist, als oben. Wenn das Problem mit dem Abstand gelöst ist, geht es auch gleich mit edem schwarzen Rahmen weiter. Zur Zeit wird die dicke weiße Trennlinie im OnDraw erzeugt:

Code:
 
  with grid.Canvas do
      begin
        Pen.Color := clwhite;
        Pen.Width := 3;
        Pen.Style := psSolid;
        MoveTo(Rect.left-1, Rect.Bottom);
        Lineto(Rect.right-1, Rect.Bottom);
      end;
Da müßte dann Wahrscheilich noch der schwarze Rahmen um die komplette Zeile rein und evtl. auch die Position des Textes?? Danke euch.

Hansa 14. Feb 2005 02:21

Re: Textposition in einem Grid
 
Zitat:

Zitat von sts1254
...Hier kann man sehen, daß der Abstand oberhalb des Textes um ein vielfaches größer ist, als oben...

Um ein Vielfaches größer ? Es sieht fast gleich aus. Mit der nötigen Phantasie würde ich aber mal sagen, daß in dem oberen Bild der Abstand oben kleiner ist als unten. 8) Und das ist eben etwas, was nicht anders geht. Versuche mal ein 9 Pixel hohes Zeichen in ein 10 Pixel hohes Feld reinzuquetschen. Entweder ist es oben zu "dicht" am Rand oder unten.

Vor allem aber : wo ist das Grid ? :shock:

Quake 14. Feb 2005 07:29

Re: Textposition in einem Grid
 
@Hansa: Dass das obere Feld kleiner ist hat 1254 doch geschrieben.

Schau dir mal die Eigenschaft DefaultRowHeight und das Ereignis OnDrawCell vom StringGrid an.

sts1254 14. Feb 2005 14:29

Re: Textposition in einem Grid
 
Hi,

also der obere einzelne Balken ist ein Shape mit nem Label drauf. So soll später jede Zeile im Grid aussehen.

Die 3 Balken unten sind bereits formatierte Zeilen im Grid. Alle Zwischenlinien sind ausgeblendet und die Eigenschaften entsprechend gesetzt. Wenn ich jet die Höhe einer solchen Zeile mit defaultrowheight verändere, wird nur der Abstand unterhalb des Textes kleiner. Heißt also, der Textsteht untem auf dem blauen Balken auf. Kann jetzt leider keinen Screenshot machen, da ich nicht zu Hause bin. In Word heißt das was ich brauche zum Beispiel Zelleninnenabstand. Vielleicht wißt Ihr jetzt, was ich meine.

Danke
sts

ibp 14. Feb 2005 15:25

Re: Textposition in einem Grid
 
... dann musst Du die Zelle halt "übermalen" mit canvas und textout


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr.

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