Keep always on top

hi guys
I want to, Keep always on top , guide figure ?
Can you give an example ? or link.

3 Comments

Adam Danz
Adam Danz on 10 May 2021
For figures created by uifigure in Matlab R2021a or later, set the WindowStyle to 'alwaysontop'.
How do you do it with a "msgbox", i.e. keep it always on top? It is still a "figure" and not a "uifigure".
When I try to set 'WindowStyle' as 'alwaysontop', I get error:
>> fig_id = msgbox('test');
>> set(fig_id,'WindowStyle','alwaysontop')
Error using matlab.ui.Figure/set
Functionality not supported with figures created with the figure function.
Adam Danz
Adam Danz on 22 Feb 2022
Message boxes are generated with regular figures. This property is only available for uifigures. You'll either need to generate your own message box using a uifigure or perhaps use a built-in dialog that uses uifigures (e.g. uialert).

Sign in to comment.

 Accepted Answer

Jan
Jan on 20 May 2011

2 votes

There are a lot of tools for this job in the FEX, e.g. WindowAPI. This tool can use the Windows HWnd handle as input, such that I expect it to work on not-Matlab windows also - as long as you find a method to get the HWnd...

4 Comments

nsbd
nsbd on 20 May 2011
Yes ty bro.but I need some more help.
I want to stay always on top checkbox with a Guide.
I met this new with FEX.I do not understand.I need time.
I understand what you want to do.please write now
Jan
Jan on 20 May 2011
Please formulate a question again. What exactly do you need?
nsbd
nsbd on 20 May 2011
setFiguresAlwaysOnTop(true) %always on top
setFiguresAlwaysOnTop(false)
This should be enough :)
nsbd
nsbd on 20 May 2011
problem was solved.thks

Sign in to comment.

More Answers (4)

Yoav Livneh
Yoav Livneh on 19 May 2011
set(figure_handle,'WindowStyle','modal')

5 Comments

nsbd
nsbd on 19 May 2011
Ty Yes it worked. but just to windows :(
How can that be in the game
Yoav Livneh
Yoav Livneh on 19 May 2011
I don't understand your question. What do you mean?
nsbd
nsbd on 19 May 2011
I mean does not work on game windows.
Yoav Livneh
Yoav Livneh on 19 May 2011
What I suggested only works within MATLAB. I don't know how to extend it to any window, wait for someone else to answer.
Sorry I couldn't help.
nsbd
nsbd on 19 May 2011
:( I wrote a small program for the game.trying.just Would be nice if this property :)

Sign in to comment.

DGM
DGM on 22 Feb 2022
Similar to Jan's suggestion, you can always do the window management with ... your window management tools. Jan's recommendation works in Windows. The following works in Linux.
Attached is a simple function that will set the specified window to be on top. This relies on the use of wmctrl, so you need to have that installed. This works for msgbox windows, regular figure windows, and uifigure windows..
hmb = msgbox('test');
hflg = figure(6);
hfui = uifigure(1);
windowontop(hmb)
windowontop(hflg)
windowontop(hfui)
Of course, you can set other window properties the same way.

4 Comments

Thank you, DGM!
Jan's suggesed WindowAPI works nicely in its demo version, but somehow it doesn't work for me (MATLAB 2021a)! I keep getting this error that WindowAPI_HG2 doesn't exist.
function WinAPI_test
FigH = figure('Color', ones(1, 3), 'Renderer', 'Painters');
% Set topmost status:
WindowAPI(FigH, 'topmost');
drawnow;
>> WinAPI_test
Unrecognized function or variable 'WindowAPI_HG2'.
Error in WindowAPI (line 236)
MexFcn(FigH, varargin{:});
Error in WinAPI_test (line 5)
WindowAPI(FigH, 'topmost');
DGM
DGM on 23 Feb 2022
I have no idea how to use those tools, and I'm in no position to troubleshoot since I don't run Windows.
Jan
Jan on 23 Feb 2022
I have no idea, why this is failing, if the demo runs correctly. I've published a new version, which does do no magic tricks anymore to support old Matlab version (HG1, <= R2014b). Now only one C-mex function is compiled. Please try it again with the new version.
Thank you, Jan! It worked like a charm. :-)

Sign in to comment.

nsbd
nsbd on 19 May 2011

0 votes

windowslivemessenger also have the option "always on top"
This Did he can be done?
Shaul Shvimmer
Shaul Shvimmer on 17 Mar 2020

0 votes

Hi, I want to inform whoever incounters this challage using MATLAB's App Designer, there's a great solution written by Igor Varfolomeev, from my experiance it works great in MATLAB 2018b and 2019b:
Cheers, and thank you Igor!

Categories

Find more on Environment and Settings in Help Center and File Exchange

Products

Tags

Asked:

on 19 May 2011

Commented:

on 23 Feb 2022

Community Treasure Hunt

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

Start Hunting!