![]() |
TStringGrid: ColWidth[1]:=500 -> keine horizScrollBar?
Hallo,
eigentlich ist mein Problem im Betreff schon ausreichend genug beschrieben: Aktuell arbeite ich mit einem StringGrid bei welchem die ColWidth[1] je nach Datensatz unterschiedlich dick ausfallen kann. Dabei übersteigt die Summe aller ColWidths oft die Gesamt-Width des Controls (StringGrid.Width). Trotzdem aber taucht in diesem Fällen nie eine horizontale ScrollBar auf!!! ...Was allerdings doch so sein müsste, oder etwa nicht? Die "ScrollBars"-Property habe ich hierfür jedenfalls schon auf "ssBoth" gesetzt. Aber, wie gesagt, leider ohne Erfolg. Gibt es da etwa noch irgendeine andere Property o.ä. mit der das Ganze da zuerst einzuschalten ist? Thx für alle sachdienlichen Hinweise :-) jedenfalls schonmal im Voraus. rXdY |
Re: TStringGrid: ColWidth[1]:=500 -> keine horizScrollBar
Hallo,
die Scrollbar sollte eigentlich kommen. Mache doch mal eine klitzekleines Minimal-Beipiel und hänge an den 1. Thread an. Vorher vielleicht noch ein Application.ProcessMessages nach dem ColWidth machen. Das sollte aber nicht die Lösung sein. Bsp. Neue Anwendung Grid auf Form (mit Grid.Align alClient sieht schöner aus) Und im FormCreatewie unten.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids; type TForm1 = class(TForm) Grid1: TStringGrid; procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Grid1.Align:= alClient; Grid1.ColWidths[1]:= Grid1.Width*2; end; end. Die Ursache bei dir könnte sein, dass du nicht mit Alignment arbeitest und das Grid viel breiter ist als du denkst. Heiko |
Re: TStringGrid: ColWidth[1]:=500 -> keine horizScrollBar
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo (& thx fürs antworten),
ich habe exakt dein Micro-Beispiel mal selbst ausprobiert: Leider ohne dass bei mir da eine horizontale ScrollBar aufgetaucht wäre :(. (Habe das Micro-Prog aber sicherheitshalber trotzdem noch als Zip-Datei angehängt). Bliebe als Erklärung ansonsten wohl nur noch mehr übrig, dass es unter Turbo-Delphi gar nicht geht? Oder vielleicht auch nur nicht in Verbindung mit dem Vista? Wie kriegt man denn eigentlich raus, ob da diesbezüglich irgend etwas bekannt ist? rXdY |
Re: TStringGrid: ColWidth[1]:=500 -> keine horizScrollBar
Hallo,
setze mal ColCount auf >=3, dann geht es. Warum, k.A. Wird das FixedCol auf 0 gesetzt, geht es auch mit ColCount=2. Man kann also sagen, das es bei einer einzigen Nicht-FixedCol nicht geht. Heiko |
Re: TStringGrid: ColWidth[1]:=500 -> keine horizScrollBar
Zitat:
Zitat:
Sowas hat allerdings auch einen gewissen Nachteil, denn wenn die letzte Col (oder irgendeine Col) länger ist als das StringGrid.Width selbst, dann hat man keine Chance mehr, den dortigen Text überhaupt noch auslesen zu können. Echt unbefriedigend irgendwie :? . Wird wirklich Zeit, dass diese TStringGrid-Controls endlich auch mal das Smooth-Scrollen lernen! :mrgreen: :mrgreen: :mrgreen: rXdY |
Re: TStringGrid: ColWidth[1]:=500 -> keine horizScrollBar
Hallo,
ich habe mir angewöhnt, unterhalb des Grids noch ein Label zu packen, das den Wert der aktuellen Zelle anzeigt. Da meine Grids noch frei definierbare Spaltenbreiten haben, ist oft auch nicht der ganze Inhalt sichtbar. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 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-2025 by Thomas Breitkreuz