Azzera filtri
Azzera filtri

Windows taskbar height in normalised units

2 visualizzazioni (ultimi 30 giorni)
I'd like to get the windows taskbar height in normalised units. To this end I create a new figure, maximise it and get its position:
set(groot,'defaultFigureUnits','normalized') % set default units to normalised
figure('WindowState','maximized') % create a maximised window
pos = get(gcf,'OuterPosition') % get the outer position of the window
close all
Running this 4 commands one by one in the command window gives the correct answer:
pos =
-0.0047 0.0403 1.0094 0.9681
While running them all together in the command window or as a part of the script gives:
pos =
450.9953 299.9917 560.0094 420.0444
So matlab gives me the position in pixels instead of normalised units. I don't understand why, please help me.

Risposta accettata

Monisha Nalluru
Monisha Nalluru il 6 Lug 2020
The difference in solutions is due to the following reason
  • MATLAB calculates the original position faster than the figure to maximize.
  • So, you can include ‘pause’ to ensure that the maximized position is calculated. The period of pause needs to be more for older version systems.
f=figure('WindowState','maximized','Units','normalized'); % maximized screen and units are normalized
pause(1); % delay the constructing recommended figure
position=f.Position; % to get the positions of figure
You can refer this link

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks 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!

Translated by