creating App design control buttons programmically

1 view (last 30 days)
I'm trying to create an app design that would read an xls spreadsheet and create a new button if someone was to go in and add an extra column of data.
Initially I thought of doing a "for loop" statement, but I don't know the code that would generate a new button for how ever many columns that are added in the spreadsheet.

Accepted Answer

Kojiro Saito
Kojiro Saito on 21 Nov 2018
I have two ideas.
  • Idea 1: Creates buttons from the first but make the button invislble in a startup function.
% Code that executes after component creation
function startupFcn(app)
app.Button.Visible = 'off';
end
Then, make the button visible at the timing when you want.
app.Button.Visible = 'on';
I think this approach is bettter than idea 2 because you can control the layout and
  • Idea 2: Create a button programmically
You can create a button by "uibutton". But you need to locate a new button properly by setting Postion.
The following example will create a button 120px right to the existing Button1.
% Button pushed function: Button
function ButtonPushed(app, event)
pos = app.Button.Position;
app.Button1 = uibutton(app.UIFigure, 'push');
app.Button1.Position = [pos(1)+120 pos(2) pos(3) pos(4)];
app.Button1.ButtonPushedFcn = {@mybuttondown,app};
% Button push function for a new button
function mybuttondown(src,eve,app)
msgbox('Hello')
end
end

More Answers (0)

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!