mdigadgets - scrolleiste immer einblenden?
-
- Beiträge: 250
- Registriert: 25.11.2004 19:51
- Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS
mdigadgets - scrolleiste immer einblenden?
Hallo zusammen, weiß jemand evtl. ob und wenn ja wie es machbar ist - die vertikale Scrolleiste immer einblenden zu lassen, auch wenn das mdi noch leer ist?
Habe diesbezüglich leider nichts im Forum großartig finden können, aber evtl. hat ja jemand einen kleinen Tipp für mich.
Merci schon mal im Voraus.
Habe diesbezüglich leider nichts im Forum großartig finden können, aber evtl. hat ja jemand einen kleinen Tipp für mich.
Merci schon mal im Voraus.
PB 4.6 / 32 Bit / 64 Bit
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Stellt sich die Frage warum? Die Scrollbars erscheinen nur wenn ein MDI Child Fenster die Maße des Clients überschreitet. Alles andere macht auch keinen Sinn. Normalerweise kann man die Scrollbars von Fenstern sichtbar machen indem man einfach eine 'Range' setzt, also Minimum / Maximum. Das Problem ist dass das MDI Client Fenster bei diversen Windows Messages überprüft ob Scrollbars angezeigt werden müssen und die 'Range' entsprechend wieder auf Null setzt wenn dies nicht der Fall ist.
Mir fällt jetzt keine andere Lösung ein aber wie gesagt erachte ich es sowieso als sinnfrei.
Mir fällt jetzt keine andere Lösung ein aber wie gesagt erachte ich es sowieso als sinnfrei.
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 250
- Registriert: 25.11.2004 19:51
- Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS
re:
Narf - also warum ich das machen mag:
ich bau mir gerade einen loginscreen der via sqllib in einem mdi gadget useraccounts listet. auf der linken seite ist das mdi. jeder user bekommt quasi hier ein neues fenster zugeteilt mit daten wie letzter login userpic usw.
es ist quasi eine schönheitsmanko wenn auf einmal die leiste auftaucht. daher will ich sie von haus aus einblenden auch wenn nur ein user gelistet wird.
finde leider immer noch nichts passendes dazu.
[/img]
ich bau mir gerade einen loginscreen der via sqllib in einem mdi gadget useraccounts listet. auf der linken seite ist das mdi. jeder user bekommt quasi hier ein neues fenster zugeteilt mit daten wie letzter login userpic usw.
es ist quasi eine schönheitsmanko wenn auf einmal die leiste auftaucht. daher will ich sie von haus aus einblenden auch wenn nur ein user gelistet wird.
finde leider immer noch nichts passendes dazu.
[/img]
PB 4.6 / 32 Bit / 64 Bit
-
- Beiträge: 250
- Registriert: 25.11.2004 19:51
- Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS
Nachtrag:
Habe nun im Forum mal folgendes gefunden:
ShowScrollBar_(GadgetID(#mdigadget),#SB_VERT,#True)
hat aber leider keine Auswirkungen auf die Scrolleiste im MDI.
Evtl. hat ja sonst noch jemand eine IDee?!
ShowScrollBar_(GadgetID(#mdigadget),#SB_VERT,#True)
hat aber leider keine Auswirkungen auf die Scrolleiste im MDI.
Evtl. hat ja sonst noch jemand eine IDee?!
PB 4.6 / 32 Bit / 64 Bit
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
und wenn du die Leiste von vorne herein im Layout mit einplanst,
zum Beispiel dem Platz, wo sie erscheinen wird, eine andere Farbe gibst?
sorry, dass ich dir sonst nicht helfen kann, aber mir ist keine einzige GUI bekannt,
bei der ein Scrollbar da ist bevor er benötigt wird.
zum Beispiel dem Platz, wo sie erscheinen wird, eine andere Farbe gibst?
sorry, dass ich dir sonst nicht helfen kann, aber mir ist keine einzige GUI bekannt,
bei der ein Scrollbar da ist bevor er benötigt wird.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 250
- Registriert: 25.11.2004 19:51
- Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS
RE:
wäre ne idee - anbei - websiten machen das manchmal auch so um die platz vorzureservieren 
aber easy - ich versuch das mal nun dur vorbelegung zu definieren. Merci aber für den Tipp gelle.

aber easy - ich versuch das mal nun dur vorbelegung zu definieren. Merci aber für den Tipp gelle.
PB 4.6 / 32 Bit / 64 Bit
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
ShowScrollBar_() bleibt wirkungslos aus zwei Gründen:
1.) die Scrollbars des MDI Gadgets sind keine eigenen extra Controls sondern erzwungen mittels des #WS_*SCROLL Stils. Solche Scrollbars lassen sich nur dann anzeigen wenn vorher überhaupt ein Minimum/Maxium festgelegt wurde.
2.) wie ich oben geschrieben habe überprüft der MDI Client mehrfach ob Scrollbars angezeigt werden müssen. Ist kein Minimum/Maxium festgelegt wird die Scrollbar automatisch unsichtbar und ShowScrollBar_() funktioniert nicht.
Die einzige Möglichkeit die Ich sehe wäre per subclassing. Dazu müsstest du aber genau wissen wie und wo die 'Range' berechnet wird.
1.) die Scrollbars des MDI Gadgets sind keine eigenen extra Controls sondern erzwungen mittels des #WS_*SCROLL Stils. Solche Scrollbars lassen sich nur dann anzeigen wenn vorher überhaupt ein Minimum/Maxium festgelegt wurde.
2.) wie ich oben geschrieben habe überprüft der MDI Client mehrfach ob Scrollbars angezeigt werden müssen. Ist kein Minimum/Maxium festgelegt wird die Scrollbar automatisch unsichtbar und ShowScrollBar_() funktioniert nicht.
Die einzige Möglichkeit die Ich sehe wäre per subclassing. Dazu müsstest du aber genau wissen wie und wo die 'Range' berechnet wird.
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 167
- Registriert: 29.12.2005 09:58
- Computerausstattung: Intel Core2 Quad (4x2,4 GHz), 4096 MB RAM, GForce 8800GTX 786 MB
Windows XP 32 Bit, PureBasic 4.40 (x86)
Notepad?Kaeru Gaman hat geschrieben:...
sorry, dass ich dir sonst nicht helfen kann, aber mir ist keine einzige GUI bekannt,
bei der ein Scrollbar da ist bevor er benötigt wird.

Ich finde es garnicht so schlecht wenn Scrollbars immer sichtbar sind, dann sieht der Anwender auf einen Blick das es sich um was scrollbares handelt, auch wenn momentan noch nicht genügend Inhalt vorhanden ist um scrollen zu müssen.
Aber das kommt sehr auf die Anwendung an, ob und wann welche Version besser aussieht.
Du könntest das vielleicht noch "per Hand" lösen:
Mit #PB_MDI_NoScrollBars schaltest du die Scrollbars ganz aus, dann kannst du selber welche anlegen und scrollst einfach das ganze Gadget übers Fenster. Allerdings musst du dich dann selber um die Größe usw. kümmern.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Das ist aber nicht gewollt sondern liegt am Sizing Grip (die kleine ecke mit der man das Fenster größer und kleiner zieht).Rokur hat geschrieben:Notepad?
Windows 10 Pro, 64-Bit / Outtakes | Derek