Seite 1 von 1

Button Breite berechnen ?

Verfasst: 05.06.2015 14:50
von JMaker
Ich habe ein Button und möchte gerne egal wie lang der Text ist die vorausichtliche Breite berechnen
damit der Text genau in den Button passt. Wie mache ich das am besten? Muss ich den Text vorher in ein Image rein malen
und dann mit TextWidth berechnen?

Re: Button Breite berechnen ?

Verfasst: 05.06.2015 14:57
von RSBasic

Code: Alles auswählen

EnableExplicit

Define SIZE.SIZE

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ButtonGadget(1, 10, 10, 0, 20, "Installationseinrichtungsprogrammeinstellungen", 0)
  ButtonGadget(2, 10, 50, 0, 0, "Installationseinrichtungsprogrammeinstellungen" + Chr(13) + "Zweite Zeile", #PB_Button_MultiLine)
  
  SendMessage_(GadgetID(1), #BCM_GETIDEALSIZE, 0, SIZE)
  ResizeGadget(1, #PB_Ignore, #PB_Ignore, SIZE\cx, #PB_Ignore)
  
  SendMessage_(GadgetID(2), #BCM_GETIDEALSIZE, 0, SIZE)
  ResizeGadget(2, #PB_Ignore, #PB_Ignore, SIZE\cx, SIZE\cy)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
Das funktioniert übrigens mit fast allen Button-Controls. Also z.B. auch CheckBoxGadget() und OptionGadget()

\\Edit:
Siehe Code von matbal

Re: Button Breite berechnen ?

Verfasst: 05.06.2015 15:39
von matbal
PB kann die erforderliche Breite und Höhe eines Gadgets auch nativ ermitteln:

Code: Alles auswählen

width = GadgetWidth(gadget, #PB_Gadget_RequiredSize)
height = GadgetHeight(gadget, #PB_Gadget_RequiredSize)
Anschließend kannst du das Gadget resizen.

Re: Button Breite berechnen ?

Verfasst: 05.06.2015 15:52
von JMaker
Danke matbal :allright: