MATLAB Answers

0

How can I change the font size of MsgBox?

Asked by Muhendisleksi on 16 Apr 2018
Latest activity Edited by Adam Danz
on 20 Aug 2018
if f==0 || f <0
Message = sprintf('Serbestlik derecesi %d\n DENGELEME YOK!!! ',f);
h = msgbox(Message,...
'Dikkat', 'warn');
end

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by Adam Danz
on 26 Jun 2018
Edited by Adam Danz
on 20 Aug 2018

Here's a function I wrote that does exactly this. Pass the handle of the msgbox() and the fontsize to the function.
If you don't want a function, here's the basics:
First get the handle to the text within the message box, then change the font size. Here's a demo.
mh = msgbox('I can barely read this.', 'test'); %create msgbox
th = findall(mh, 'Type', 'Text'); %get handle to text within msgbox
th.FontSize = 14; %Change the font size
If you increase the font size too much, you'll need to expand the message box to fit the extent of the text.
deltaWidth = sum(th.Extent([1,3]))-mh.Position(3) + th.Extent(1);
deltaHeight = sum(th.Extent([2,4]))-mh.Position(4) + 10;
mh.Position([3,4]) = mh.Position([3,4]) + [deltaWidth, deltaHeight];
Lastly, allow the user to resize the window if needed:
mh.Resize = 'on';

  0 Comments

Sign in to comment.


Answer by Anibal Siguenza Torres on 20 Aug 2018
Edited by Anibal Siguenza Torres on 20 Aug 2018

The easiest is to use the TeX format so the subset of markup supported by matlab can be used. To activate them you have to create an structure and send it as parameter as follows:
CreateStruct.Interpreter = 'tex';
CreateStruct.WindowStyle = 'modal';
msgbox('\fontsize{18} Now is big =)', CreateStruct)

  0 Comments

Sign in to comment.