Setting GUI Control Default Properties by Style
1 次查看(过去 30 天)
显示 更早的评论
When setting default values for GUI control properties, you can set default properties for all uicontrols:
f = figure;
set(f,'DefaultUicontrolString','Hello World');
uicontrol('parent',f,'style','text')
But can you set different sets of defaults for uicontrols with different styles? The following does NOT work, but makes my intent clear:
f = figure;
set(f,'DefaultTextBackgroundColor','gray')
set(f,'DefaultEditBackgroundColor','white')
uicontrol(f,'style','text','string','hello')
uicontrol(f,'style','edit','string','world')
0 个评论
采纳的回答
Matt Fig
2011-5-12
When I write GUIs I usually specify the minimum property descriptions necessary for each style, then at the end of my initialization code I call a custom function to set my standard defaults.
This function takes no arguments (except optionally a figure handle for limiting the search), but uses FINDALL to parse through each style of uicontrol and assign the defaults like fontsize, backgroundcolor, etc.
It sounds like you could benefit from writing such a function too!
0 个评论
更多回答(1 个)
Daniel Shub
2011-5-11
You cannot control the properties like you want. You could create a new function (or even class) that mimics uicontrols, but would allow you to specify default values. One problem with your example is if you create a text box control and then change it to an edit box control would the background color change?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!