Button Breite berechnen ?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
JMaker
Beiträge: 102
Registriert: 19.01.2015 10:18

Button Breite berechnen ?

Beitrag 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?
Ich benutze Pure Basic 5.30 auf Microsoft Windows 7.
Gruß
JM
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Button Breite berechnen ?

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
matbal
Beiträge: 261
Registriert: 30.03.2011 20:53

Re: Button Breite berechnen ?

Beitrag 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.
Benutzeravatar
JMaker
Beiträge: 102
Registriert: 19.01.2015 10:18

Re: Button Breite berechnen ?

Beitrag von JMaker »

Danke matbal :allright:
Ich benutze Pure Basic 5.30 auf Microsoft Windows 7.
Gruß
JM
Antworten