如何使用 IUP THEME attribute/DEFAULTTHEME 全局属性
How do I use the IUP THEME attribute/DEFAULTTHEME global attribute
IUP 3.26 引入了主题属性:
THEME common attribute and DEFAULTTHEME global attribute that
works for all controls to apply a set of attributes at once.
我正在使用 IUP 3.28 并遵循(我认为)documentation 来标准化各种控件的外观;然而,它并没有像我预期的那样工作——事实上它似乎根本没有工作。在主题中为每个控件指定的属性没有被应用,所以很明显我误解了一些东西。在示例中,按钮应该有粉红色文本,但实际上没有。
require "iuplua"
iup.SetGlobal("DLGBGCOLOR","255 255 255") --default background colour
iup.SetGlobal("TXTBGCOLOR", "255,255,255") --default text color
myButtonTheme = iup.user{alignment="ALEFT:ACENTER", expand = "HORIZONTAL",
padding = "20x10", fgcolor = "255 0 255"}
myTheme = iup.user{
IUPBUTTON = myButtonTheme
}
iup.SetGlobal("DEFAULTTHEME", "myTheme") --default settings for iup controls
b = iup.button{title = "This should be pink"}
dlg = iup.dialog{iup.hbox{b}}
dlg:show()
iup.MainLoop()
dlg:destroy()
ETA:如果我这样创建按钮:b = iup.button{title = "This should be pink", theme = myButtonTheme}
它有效;但如果我依赖 DEFAULTHEME,它就不会。我有一些由库创建的按钮,我希望它们的主题始终如一
未接来电:
iup.SetHandle("myTheme", myTheme)
创建 Lua myTheme 控件后。
IUP 3.26 引入了主题属性:
THEME common attribute and DEFAULTTHEME global attribute that works for all controls to apply a set of attributes at once.
我正在使用 IUP 3.28 并遵循(我认为)documentation 来标准化各种控件的外观;然而,它并没有像我预期的那样工作——事实上它似乎根本没有工作。在主题中为每个控件指定的属性没有被应用,所以很明显我误解了一些东西。在示例中,按钮应该有粉红色文本,但实际上没有。
require "iuplua"
iup.SetGlobal("DLGBGCOLOR","255 255 255") --default background colour
iup.SetGlobal("TXTBGCOLOR", "255,255,255") --default text color
myButtonTheme = iup.user{alignment="ALEFT:ACENTER", expand = "HORIZONTAL",
padding = "20x10", fgcolor = "255 0 255"}
myTheme = iup.user{
IUPBUTTON = myButtonTheme
}
iup.SetGlobal("DEFAULTTHEME", "myTheme") --default settings for iup controls
b = iup.button{title = "This should be pink"}
dlg = iup.dialog{iup.hbox{b}}
dlg:show()
iup.MainLoop()
dlg:destroy()
ETA:如果我这样创建按钮:b = iup.button{title = "This should be pink", theme = myButtonTheme}
它有效;但如果我依赖 DEFAULTHEME,它就不会。我有一些由库创建的按钮,我希望它们的主题始终如一
未接来电:
iup.SetHandle("myTheme", myTheme)
创建 Lua myTheme 控件后。