Unterer Scrollbalken weg, sobald ein Menü da ist

Anfängerfragen zum Programmieren mit PureBasic.
Syntacks_Error
Beiträge: 107
Registriert: 08.03.2009 16:08

Unterer Scrollbalken weg, sobald ein Menü da ist

Beitrag von Syntacks_Error »

Nicht wundern, ich programmiere zwar schon eine Weile, aber nur Sachen, die auch etwas tun und nicht nur aussehen .. also nix mit GUI.

Jetzt aber muss es sein, so mit Scrollbalken. Klappt auch, aber sobald ich ein Menü erstelle, ist unten der Scrollbalken weg. Wie kriege ich ihn wieder?

Code: Alles auswählen

width = 1400
height = 900
window = OpenWindow(#PB_Any, 200,100,width,height,"Window")

;Wenn die drei Zeilen zum Meü deaktiviert sind, ist der untere Scrollbalken da
CreateImageMenu(#PB_Any,WindowID(window))      
MenuTitle("Nichts")                           ;
MenuItem(100,"Wieder nichts    " + Chr(49))   ;

scrollgad = ScrollAreaGadget(#PB_Any,0,0,width,height,width*2,height * 2)

image = CreateImage(#PB_Any,width*2,height*2,24,RGB(50,150,200))
imgad = ImageGadget(#PB_Any,0,0,width,height,ImageID(image))
CloseGadgetList()


Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
    close = 1
   EndSelect 
Until close
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Unterer Scrollbalken weg, sobald ein Menü da ist

Beitrag von Bisonte »

das hängt damit zusammen, dass das Menu ebenfalls eine Höhe hat, die man bei der Fensterhöhe am Ende mit berücksichtigen muss.

Um die MenuHöhe zu ermitteln gibt es : MenuHeight() in PB.

Diese addierst zu beim erstellen des Fensters direkt mit dazu und schwupps, der Scrollbalken ist wieder da....

Code: Alles auswählen

width = 1400
height = 900
window = OpenWindow(#PB_Any, 200,100,width,height+MenuHeight(),"Window")

;Wenn die drei Zeilen zum Meü deaktiviert sind, ist der untere Scrollbalken da
CreateImageMenu(#PB_Any,WindowID(window))     
MenuTitle("Nichts")                           ;
MenuItem(100,"Wieder nichts    " + Chr(49))   ;

scrollgad = ScrollAreaGadget(#PB_Any,0,0,width,height,width*2,height * 2)

image = CreateImage(#PB_Any,width*2,height*2,24,RGB(50,150,200))
imgad = ImageGadget(#PB_Any,0,0,width,height,ImageID(image))
CloseGadgetList()


Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
    close = 1
   EndSelect
Until close
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Unterer Scrollbalken weg, sobald ein Menü da ist

Beitrag von RSBasic »

Du musst die Menü-Höhe noch subtrahieren: MenuHeight()

\\Edit:
Zu langsam
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Syntacks_Error
Beiträge: 107
Registriert: 08.03.2009 16:08

Re: Unterer Scrollbalken weg, sobald ein Menü da ist

Beitrag von Syntacks_Error »

Okay, das war ja einfach ;-) Danke. Das sind so Sachen, da kommt man nicht so schnell alleine drauf. Ich hatte versucht, die Menüpixel beim Scrollgadget abzuziehen, es scheint aber egal zu sein, was man da als Größe angiebt ...
Antworten