Ideale Größe einer ScrollArea berechnen
Ideale Größe einer ScrollArea berechnen
"Hallöchen"!
Wann immer man die Parameter ScrollAreaWidth und ScrollAreaHeight bei ScrollAreaGadget () festlegt, möchte man ja unter Umständen darauf achten, dass bei der Ausführung keine Scroll-Balken entstehen, manchmal im Vertikalen, manchmal im Horizontalen und mal in beiden Richtungen.
Scroll-Balken in beiden Richtungen zu verhindern geht ziemlich einfach - man setzt die angesprochenen Parameter kleiner, als die Größe des Containers. (Durch Ausprobieren oder Berechnung kann man die optimal den Container füllende Größe der ScrollArea herausfinden.)
Was aber, wenn nur eine Richtung feststehen soll, die andere einen Scroll-Balken haben soll? Dann muss man ja, wenn die ScrollArea einen, zum Beispiel, vertikalen Scroll-Balken haben soll, die horizontale Breite dieses Balkens von der vorausberechneten ScrollArea-Breite abziehen, um das Entstehen eines (überflüssigen) horizontalen Scroll-Balkens zu verhindern.
Nun mein Problem: Breite und Höhe der Scroll-Balken sind doch, soweit ich weiß, benutzerdefiniert, man kann unter den Windows-Einstellungen deren Größe auf bis zu 100 Pixel heraufsetzen.
Wie soll man seine ScrollArea einigermaßen gut mit Inhalt füllen, wenn man nicht weiß, wie groß die Scroll-Balken und damit der Abzug sind? Man müsste die Größe der Scroll-Balken abfragen können! Das geht aber mit PureBasic's internen Funktionen nicht.
...Ideen zur Lösung dieses Problems?
Wann immer man die Parameter ScrollAreaWidth und ScrollAreaHeight bei ScrollAreaGadget () festlegt, möchte man ja unter Umständen darauf achten, dass bei der Ausführung keine Scroll-Balken entstehen, manchmal im Vertikalen, manchmal im Horizontalen und mal in beiden Richtungen.
Scroll-Balken in beiden Richtungen zu verhindern geht ziemlich einfach - man setzt die angesprochenen Parameter kleiner, als die Größe des Containers. (Durch Ausprobieren oder Berechnung kann man die optimal den Container füllende Größe der ScrollArea herausfinden.)
Was aber, wenn nur eine Richtung feststehen soll, die andere einen Scroll-Balken haben soll? Dann muss man ja, wenn die ScrollArea einen, zum Beispiel, vertikalen Scroll-Balken haben soll, die horizontale Breite dieses Balkens von der vorausberechneten ScrollArea-Breite abziehen, um das Entstehen eines (überflüssigen) horizontalen Scroll-Balkens zu verhindern.
Nun mein Problem: Breite und Höhe der Scroll-Balken sind doch, soweit ich weiß, benutzerdefiniert, man kann unter den Windows-Einstellungen deren Größe auf bis zu 100 Pixel heraufsetzen.
Wie soll man seine ScrollArea einigermaßen gut mit Inhalt füllen, wenn man nicht weiß, wie groß die Scroll-Balken und damit der Abzug sind? Man müsste die Größe der Scroll-Balken abfragen können! Das geht aber mit PureBasic's internen Funktionen nicht.
...Ideen zur Lösung dieses Problems?
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Re: Ideale Größe einer ScrollArea berechnen
Hi es_91,
dort war ein ähnliches Problem
http://www.purebasic.fr/german/viewtopi ... 16&t=28523
und oder
ist dein Freund
NicknameFJ
Edit: copy/paste Fehler in der zweiten Abfrage korrigiert. War zweimal Abfrage des VScroll. Danke TS
dort war ein ähnliches Problem
http://www.purebasic.fr/german/viewtopi ... 16&t=28523
und
Code: Alles auswählen
GetSystemMetrics_(#SM_CXVSCROLL)Code: Alles auswählen
GetSystemMetrics_(#SM_CYHSCROLL)NicknameFJ
Edit: copy/paste Fehler in der zweiten Abfrage korrigiert. War zweimal Abfrage des VScroll. Danke TS
Zuletzt geändert von NicknameFJ am 17.11.2014 21:40, insgesamt 3-mal geändert.
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller


Re: Ideale Größe einer ScrollArea berechnen
Der Beitrag ist von gestern!
...
Na, frisches Wissen ist immernoch am Besten! ^^
Vielen Dank, NicknameFJ!
...
Na, frisches Wissen ist immernoch am Besten! ^^
Vielen Dank, NicknameFJ!
- NicknameFJ
- Beiträge: 324
- Registriert: 03.06.2007 14:36
- Wohnort: Von der Sonne aus gesehen der dritte Planet
Re: Ideale Größe einer ScrollArea berechnen
Bitte gerne.
Hatte auch Mühe mich heute noch an meine Antwort von gestern zu erinnern
Hatte auch Mühe mich heute noch an meine Antwort von gestern zu erinnern
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller


Re: Ideale Größe einer ScrollArea berechnen
Hier noch ein kleiner Tipp für Nachschlager:
Die Rahmen des ScrollAreaGadgets betragen unter allen derzeit verfügbaren Windows-Themen (getestet bis Windows 8.1) genau vier Pixel, zwei links und zwei rechts.
Die Rahmen des ScrollAreaGadgets betragen unter allen derzeit verfügbaren Windows-Themen (getestet bis Windows 8.1) genau vier Pixel, zwei links und zwei rechts.
- CodeCommander
- Beiträge: 213
- Registriert: 02.03.2014 16:06
~ DELETE ~
Zuletzt geändert von CodeCommander am 18.01.2015 14:49, insgesamt 1-mal geändert.
~ DELETE ~
Re: Ideale Größe einer ScrollArea berechnen
Okay, dann nächste Frage: Um welche Konstanten handelt es sich dabei? 
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Ideale Größe einer ScrollArea berechnen
Falls neben dem V-Scroll auch noch H-Scroll benötigt wird:
Code: Alles auswählen
Debug GetSystemMetrics_(#SM_CYHSCROLL)PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Ideale Größe einer ScrollArea berechnen
Danke, ts-soft!
es_91 hat geschrieben:Um welche Konstanten handelt es sich dabei?