Move GUI figure to specified location on screen
movegui(h,'position') moves the figure identified by handle h to the specified screen location, preserving the figure's size. The position argument is either a string or a two-element vector, as defined in the tables that follow.
movegui moves the callback figure (gcbf) or the current figure (gcf) to the onscreen position. You can specify 'movegui' as a CreateFcn callback for a figure. Doing so ensures after you save a figure, that figure appears on screen when you reload it, regardless of its saved position. See the following example.
When it is a string, position is one of the following descriptors.
|north||Top center edge of screen|
|south||Bottom center edge of screen|
|east||Right center edge of screen|
|west||Left center edge of screen|
|northeast||Top right corner of screen|
|northwest||Top left corner of screen|
|southeast||Bottom right corner of screen|
|southwest||Bottom left corner|
|center||Centered on screen|
|onscreen||Nearest location to current location that is entirely on screen|
You can also specify the position argument as a two-element vector, [h,v]. Depending on sign, h specifies the figure's offset from the left or right edge of the screen, and v specifies the figure's offset from the top or bottom of the screen, in pixels. The following table summarizes the possible values.
h (for h >= 0)
Offset of left side from left edge of screen
h (for h < 0)
Offset of right side from right edge of screen
v (for v >= 0)
Offset of bottom edge from bottom of screen
v (for v < 0)
Offset of top edge from top of screen
Applying movegui to a maximized figure window moves the window towards the task bar and creates a gap on the opposite side of the screen about as wide as the task bar. The window might shrink in size by a few pixels. If you use the onscreen option with a maximized figure window, then movegui creates a gap on both the left and upper sides of the screen so that the top-left corner of the figure is visible.
GUIDE and openfig call movegui when loading figures to ensure they are visible.
Ensure that a saved GUI appears on screen when you reload it, regardless of the target computer screen size and resolution. Create a figure that is off the screen, assign movegui as its CreateFcn callback, save the figure, and then reload it.
f = figure('Position',[10000,10000,400,300]); % The figure does not display because % it is created offscreen. f.CreateFcn = @movegui; hgsave(f,'onscreenfig'); close(f); f2 = hgload('onscreenfig'); % The reloaded figure is now visible
Move a figure to the bottom left corner of the screen.
f = figure; movegui(f,'southwest');
Move a figure so that it is offset 100 pixels from the bottom and left side of the screen.
f = figure; movegui(f,[100,100]);