Can a UI Figure be centered before displaying?
18 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Daelyn Greene
il 17 Gen 2019
Commentato: Cédric Cannard
il 3 Mar 2023
I am using movegui(_______,'center') to center my UI figure. While this works, I'd prefer to not have the UI showing at all until the figure is centered. Is this possible?
0 Commenti
Risposta accettata
Image Analyst
il 17 Gen 2019
Modificato: Image Analyst
il 17 Gen 2019
Try this:
h = figure; % Create a figure.
h.Visible = 'off'; % Hide it immediately.
h.Units = 'normalized';
% Get original width and height.
originalSize = h.Position
width = originalSize(3)
height = originalSize(4)
% Reassign the size (optional - only if you want to);
width = .5;
height = 0.3; % Whatever you want.
% Get the left and bottom coordinates so we can reposition to there.
xLeft = 0.5 - width/2;
yBottom = 0.5 - height/2;
% Reposition the figure. Here is where it actually gets moved and (optionally) resized.
h.Position = [xLeft, yBottom, width, height]
h.Visible = 'on'; % Now show it.
1 Commento
Cédric Cannard
il 3 Mar 2023
Thanks! Even simpler:
h.Visible = 'off'; % hide it immediately
movegui(h,'center') % center
h.Visible = 'on'; % show it
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Language Fundamentals in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!