Yes, I hadn't thought of that but it seems logical given the scaling rates used.
However, to be consistent, #PB_Gadget_RequiredSize (WM_GETMINMAXINFO) should also be in base 4 or 8 which is not the case
Code: Select all
Macro ModelHeight(_Model_)
ReqHeight = ReqHeightModel(_Model_)
Debug _Model_ + ": " + Str(ReqHeight) + " / 4 = " + StrF(ReqHeight/4)
EndMacro
Procedure ReqHeightModel(Model.s)
Protected TempGadget.i, ReqHeight.i, DummyText.s = "ABC123"
Select Model
Case "ButtonGadget"
TempGadget = ButtonGadget (#PB_Any, 0, 0, 25, 25, DummyText)
Case "ButtonImageGadget"
TempGadget = ButtonImageGadget(#PB_Any, 0, 0, 25, 25, 0)
Case "CalendarGadget"
TempGadget = CalendarGadget (#PB_Any, 0, 0, 25, 25)
Case "CheckBoxGadget"
TempGadget = CheckBoxGadget (#PB_Any, 0, 0, 25, 25, DummyText)
Case "ComboBoxGadget"
TempGadget = ComboBoxGadget (#PB_Any, 0, 0, 25, 25, #PB_ComboBox_Editable) : SetGadgetText(TempGadget, DummyText)
Case "DateGadget"
TempGadget = DateGadget (#PB_Any, 0, 0, 25, 25)
Case "HyperLinkGadget"
TempGadget = HyperLinkGadget (#PB_Any, 0, 0, 25, 25,DummyText, $FF0000)
Case "ImageGadget"
TempGadget = ImageGadget (#PB_Any, 0, 0, 25, 25, 0)
Case "IPAddressGadget"
TempGadget = IPAddressGadget (#PB_Any, 0, 0, 25, 25)
Case "OptionGadget"
TempGadget = OptionGadget (#PB_Any, 0, 0, 25, 25, DummyText)
Case "ScrollBarGadget"
TempGadget = ScrollBarGadget (#PB_Any, 0, 0, 25, 25, 0, 100, 10)
Case "SpinGadget"
TempGadget = SpinGadget (#PB_Any, 0, 0, 25, 25, 0, 100, #PB_Spin_ReadOnly)
Case "StringGadget"
TempGadget = StringGadget (#PB_Any, 0, 0, 25, 25, DummyText)
Case "TextGadget"
TempGadget = TextGadget (#PB_Any, 0, 0, 25, 25, DummyText)
EndSelect
If IsGadget(TempGadget)
ReqHeight = GadgetHeight(TempGadget, #PB_Gadget_RequiredSize)
;Debug Model + " : " + Str(ReqHeight)
FreeGadget(TempGadget)
EndIf
ProcedureReturn ReqHeight
EndProcedure
If OpenWindow(0,0,0,0,0,"",#PB_Window_BorderLess)
ModelHeight("ButtonGadget")
ModelHeight("ButtonGadget")
ModelHeight("ButtonImageGadget")
ModelHeight("CalendarGadget")
ModelHeight("CheckBoxGadget")
ModelHeight("ComboBoxGadget")
ModelHeight("DateGadget")
ModelHeight("HyperLinkGadget")
ModelHeight("ImageGadget")
ModelHeight("IPAddressGadget")
ModelHeight("OptionGadget")
ModelHeight("ScrollBarGadget")
ModelHeight("SpinGadget")
ModelHeight("StringGadget")
ModelHeight("TextGadget")
CloseWindow(0)
EndIf