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 Scrollbar / Scrollbars v. TStringGrid / StringGrid sichtbar? (https://www.delphipraxis.net/145587-scrollbar-scrollbars-v-tstringgrid-stringgrid-sichtbar.html)

Delphi-Laie 4. Jan 2010 21:16


Scrollbar / Scrollbars v. TStringGrid / StringGrid sichtbar?
 
Hallo Delphifreunde!

Über einen Tag suchte ich im Internet, wie man obiges feststellt. Ich fand auf keiner (!) deutschsprachigen Seite eine befriedigende Lösung dafür. Die Bastellösungen dazu erwiesen sich letztlich alle als untauglich. Das Problem ist wohl, daß das Zu-/Abschalten der Scrollbars leider nicht als Ereignisse oder wenigstens zur Laufzeit (und damit nicht im Objektinspektor voreinstellbare) abrufbare Eigenschaften verfügbar ist.

Kurzum, die Lösung, die das wirklich zu bieten bzw. umzusetzen scheint (meine ersten diesbezüglichen Erfahrungen sind positiv, deshalb hier die Veröffentlichung), findet sich hier:
Delphi-Quellcode:
if (GetWindowlong(Stringgrid1.Handle, GWL_STYLE) and WS_VSCROLL) <> 0 then
  ShowMessage('Vertical scrollbar is visible!');
if (GetWindowlong(Stringgrid1.Handle, GWL_STYLE) and WS_HSCROLL) <> 0 then
  ShowMessage('Horizontal scrollbar is visible!');

toms 4. Jan 2010 21:18

Re: Scrollbar / Scrollbars v. TStringGrid / StringGrid sicht
 
Zitat:

Zitat von Delphi-Laie
Ich fand auf keiner (!) deutschsprachigen Seite eine befriedigende Lösung dafür.

Dann hast du aber nicht überall geschaut (z.B hier)

Delphi-Laie 4. Jan 2010 21:22

Re: Scrollbar / Scrollbars v. TStringGrid / StringGrid sicht
 
Zitat:

Zitat von toms
Zitat:

Zitat von Delphi-Laie
Ich fand auf keiner (!) deutschsprachigen Seite eine befriedigende Lösung dafür.

Dann hast du aber nicht überall geschaut (z.B hier)

Der Punkt geht eindeutig an Dich!

Das eidgenössische Delphiforum konnte mir jedenfalls auch nicht weiterhelfen (nur suchend, nicht selbst fragend).

Außerdem hatte da wohl einer vom anderen kopiert?!

Egal, jetzt ist es auch in diesem Forum verewigt, was hoffentlich niemanden erzürnt.

Delphi-Laie 12. Apr 2010 13:27

Re: Scrollbar / Scrollbars v. TStringGrid / StringGrid sicht
 
Weil es an dieser Stelle am besten paßt, erlaube ich mir, noch etwas zu ergänzen:

Compilate von Delphi 2 und 3 prüfen bereits vor oder spätestens zum Begin der Prozedur FormCreate, ob die Scrollbalken existieren, und in derselben Prozedur stehen die richtigen Werte bereits zur Verfügung. Ab Delphi 4 scheint es leider generell nicht mehr so zu sein, jedenfalls beobachtete ich es bei Delphi 4, 7 und Turbo (Warum solch ein Rückschritt?? Schade!). Dort wird in den FormCreate-Prozduren unabhängig von der tatsächlichen Existenz der Scrollbalken ein vorhanden zurückgeliefert, was die Programmierung ggf. erschwert. Wer die Scrollbalken - leider wiederum unabhängig von deren tatsächlicher Existenz - im FormCreate lieber in den Nichtexistenzstatus schalten möchte , der füge in FormCreate

Delphi-Quellcode:
SetWindowlong(StringGrid1.Handle,GWL_STYLE,GetWindowlong(StringGrid1.Handle,GWL_STYLE) and not WS_HSCROLL);
SetWindowlong(StringGrid1.Handle,GWL_STYLE,GetWindowlong(StringGrid1.Handle,GWL_STYLE) and not WS_VSCROLL)
hinzu.


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