Hello,
I am trying to create a list dialog that accept a user input. I find that the prompt text doesn't display well and is overlapped with list. How to increase spacing between prompt text and list?
prompt = 'Select synchronization type for code generation (default=Trigg Mode)';
fn = {'Trigg Mode', 'SetAO Mode'};
[syncMode,tf] = listdlg('PromptString',prompt,'SelectionMode','single', ...
'ListString',fn,'ListSize',[200,100],'OKString','Select', 'Name','Select Sync Mode');
Changing 'ListSize' parameter only increases overall size of the window and doesn't solve the problem.

 Accepted Answer

"If you specify the prompt as a character vector that is longer than the width of the dialog box, the prompt clips. To create a multiline list box prompt, specify the prompt as a cell array or string array. Line breaks occur between each array element. Long elements wrap to fit the dialog box."
Try this
prompt = ["Select synchronization type for code","generation (default=Trigg Mode)"];
fn = {'Trigg Mode', 'SetAO Mode'};
[syncMode,tf] = listdlg('PromptString',prompt,'SelectionMode','single', ...
'ListString',fn,'ListSize',[200,100],'OKString','Select', 'Name','Select Sync Mode');

3 Comments

Converting prompt text from character vector to string array or character array still didnt fix the issue. The prompt text is still clipped. Even earlier, I could see the text run over to a new line. Is the 'ListSize' parameters affecting the wrap around?
Cris LaPierre
Cris LaPierre on 28 Dec 2020
Edited: Cris LaPierre on 28 Dec 2020
It worked for me. This is what I see when I run the code I shared.
You do need to make each line a separate element. Otherwise, it just wraps.
Yes! That was happening. I overlooked the comma seperation in your answer and just focused on converting character vector to string array. It works now

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!