Hello! I can't get the correct Windows taskbar height by code. I need it for the define the height of my app (app design).
I get the right value only with the following, but I don't like the need to create an empty figure just for the purpose, it is not neat:
h = figure('Menu','none','ToolBar','none','WindowState','maximized','Visible','on');
pause(1)
P2 = get(h,'Position');
P2(2)
close(h);
ans =
41 % correct value! Perfect result using this
Moreover, the previous does not work setting Visible = 'off', it does not update the maximized sizes.
but it does not work:
toolkit = java.awt.Toolkit.getDefaultToolkit();
scr_size = toolkit.getScreenSize();
fprintf('Screen size is: %d x %d\n', scr_size.width, scr_size.height)
jframe = javax.swing.JFrame;
insets = toolkit.getScreenInsets(jframe.getGraphicsConfiguration());
fprintf('Windows task bar height is: %d\n', insets.bottom)
>>>> Screen size is: 2880 x 1620
>>>> Windows task bar height is: 60 % WRONG
what can I do? Thank you
For the app size, I use:
screenSize = get(groot,'ScreenSize');
screenWidth = screenSize(3);
screenHeight = screenSize(4);
left = screenWidth;
bottom = P2(2);
width = screenWidth*0.20;
height = (screenHeight-P2(2))*0.97;
drawnow;
app.MyApp.Position = [left bottom width height];

 Respuesta aceptada

Jan
Jan el 24 de Mzo. de 2021

0 votos

You can move the taskbar to the side and to the top, hide it dynamically and change the size. The static determination of the height is not reliable.
You can use FEX: WindowAPI to determine the sizes of the monitors with and without task bar. The the problem remains the same: If the taskbar is dynamically faded or moved, the GUI has to be adjusted.

Más respuestas (0)

Categorías

Más información sobre Develop Apps Using App Designer en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 24 de Mzo. de 2021

Respondida:

Jan
el 24 de Mzo. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by