Seite 1 von 1

ButtonGadget seltsames Verhalten

Verfasst: 01.08.2014 11:32
von mueckerich
Sollte nicht der Text auf einem Buttongadget im normalfall zentriert dargestellt werden? Bei einem "normalen" Bottongadget ist dies auch der Fall. Erstellt man den Button aber mit der Option "#PB_Button_MultiLine" werden alle Texte links ausgerichtet angezeigt. :freak:
Eigentlich erwartet man doch da das gleiche Verhalten bezüglich der Textausrichtung wie bei einem einzeiligen Buttongadget. Handelt es sich hier um einen Bug?
Ich hab das mal mit einem Codeschnippsel aus dem Forum getestet:

Code: Alles auswählen

; #BS_LEFT         =    $00000100 
; #BS_RIGHT        =    $00000200 
; #BS_TOP          =    $00000400 
; #BS_CENTER       =    $00000300 
; #BS_BOTTOM       =    $00000800
Testbutton.s

Testbutton = ""
Testbutton = Testbutton + "Das ist ein" + #CRLF$
Testbutton = Testbutton + "Ellenlanger Text" + #CRLF$
Testbutton = Testbutton + "zum testen der Ausrichtfunktion" + #CRLF$
Testbutton = Testbutton + "des" + #CRLF$
Testbutton = Testbutton + "Buttons."


If OpenWindow(0, 100, 100, 640,480, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
  l=100:h=40
  x=WindowWidth(0)/2-(l/2):y=WindowHeight(0)/2-(h/2)
  ButtonGadget(0,x,y,l,h,"NORMAL")
  ButtonGadget(1,x-l-20,y,l,h,"LEFT",#BS_LEFT)
  ButtonGadget(2,x+l+20,y,l,h,"RIGHT",#BS_RIGHT)
  ButtonGadget(3,x,y-h-20,l,h,"TOP",#BS_TOP)
  ButtonGadget(4,x,y+h+20,l,h,"BOTTOM",#BS_BOTTOM)
  ButtonGadget(5,x-l-20,y-h-20,l,h,"TOP LEFT",#BS_LEFT|#BS_TOP)
  ButtonGadget(6,x+l+20,y-h-20,l,h,"TOP RIGHT",#BS_RIGHT|#BS_TOP)
  ButtonGadget(7,x-l-20,y+h+20,l,h,"BOTTOM LEFT",#BS_BOTTOM|#BS_LEFT)
;  ButtonGadget(8,x+l+20,y+h+20,l,h,"BOTTOM RIGHT",#BS_BOTTOM|#BS_RIGHT)
  ButtonGadget(8,x+l+20,y+h+20,l,h, Testbutton,#PB_Button_MultiLine|#BS_CENTER)
  
  Repeat 
    EventID = WaitWindowEvent(100) 
    Select EventID
      Case  #PB_Event_CloseWindow 
        Quit = 1 
    EndSelect 
  Until Quit = 1 
EndIf

End 

Re: ButtonGadget seltsames Verhalten

Verfasst: 01.08.2014 12:00
von Kiffi
bei mir wird er zentriert ausgegeben:

Code: Alles auswählen

ButtonGadget(9,x - 120, y+120, l + 240, h + 40, Testbutton,#PB_Button_MultiLine)
Bild

Re: ButtonGadget seltsames Verhalten

Verfasst: 01.08.2014 13:06
von mueckerich
Echt seltsam, ich hab auf 2 verschiedenen Rechner (einmal XP 32Bit und einmal Win7 Enterprise jeweil mit PB5.30 (X86) die folgende Ausgabe.
:bluescreen: >_<

Bild

Re: ButtonGadget seltsames Verhalten

Verfasst: 01.08.2014 13:11
von RSBasic
Das passiert nur, wenn klassisches Windows-Design (oder mit SetThemeAppProperties_(0)) aktiviert ist. Warum das so ist, keine Ahnung.

Re: ButtonGadget seltsames Verhalten

Verfasst: 01.08.2014 13:14
von mueckerich
Habs gefunden, es hängt mit den Compiler-Optionen zusammen.
Sobald die Option "Moderne Themen-Unterstützung aktivieren (für Windows XP und höher)" angewählt ist, dann macht er den Text nicht mehr Zentriert.
Ist das auf anderen Rechnern reproduzierbar und evtl. ein Bug? :freak:
OK RSBacic war schneller :allright: und Danke für die schnelle Hilfe.

Re: ButtonGadget seltsames Verhalten

Verfasst: 01.08.2014 13:16
von RSBasic
Ich bezweifle, dass das ein PB-Bug ist. Wenn, dann eher ein Windows-Bug.

\\Edit:
Aber man sollte grundsätzlich immer die Compiler-Option "Moderne Themen-Unterstützung aktivieren" aktivieren, um das vom Benutzer eingestellte Windows-Design nutzen zu können. Wenn man beispielsweise selbst nur das klassische Design verwendet, dann heißt es nicht, dass der Endbenutzer das klassische Design ebenfalls nutzt. Wenn man also diese Compiler-Option nicht standardmäßig aktiviert, dann sehen die einzelnen Gadgets beim Endbenutzer klassich aus und die Gadgets haben nicht das selbe Design, welches der Endbenutzer auf seinem Windows konfiguriert hat. Deshalb empfehle ich dir, diese Compiler-Option im Einstellungsfenster von PB zu aktivieren, damit alle Projekte standardmäßig das moderne Design haben. Somit wär dein Bug nicht mehr vorhanden. ;)