TooltipString won't show if uicontrol Enable is not 'on'
4 ビュー (過去 30 日間)
古いコメントを表示
Hey MATLAB users,
I have a Edit style uicontrol label, which has set 'enable' to 'intactive' to make it not editable.
But now, I also want to add a tooltipString for this ui label, but since it's set to inactive, nothing will show.
I really dont want to use 'text' since there is no outline for the label box.
Is there anyway I could add TooltipString for this case.
there is one ticket about it, but didn't solve my question really well: https://www.mathworks.com/matlabcentral/answers/81029-tooltipstring-not-displaying-when-button-is-disabled
8 件のコメント
Walter Roberson
2019 年 1 月 23 日
At the time you create the uipanel you can give char units and Position to it, and then create the uicontrol with units normalized and size [0 0 1 1]. After that set() the uicontrol to units char if you need to.
回答 (1 件)
Luna
2019 年 1 月 24 日
編集済み: Luna
2019 年 1 月 24 日
Here you can get the object, set editable property of the Java object as false like below and then add a tooltip.
hEditbox = uicontrol('String','Edit Text','Style','edit');
drawnow;
jEditbox = findjobj(hEditbox); % gets the java object handle
set(jEditbox,'Editable',false); % this will disable your editbox
set(jEditbox,'ToolTipText','Text is inactive for a reason'); % this will create a tooltip string
3 件のコメント
Walter Roberson
2019 年 1 月 24 日
I seem to recall that there are some race conditions where a java object might not be allocated until the graphics object is rendered -- the drawnow() that Luna shows.
参考
カテゴリ
Help Center および File Exchange で Migrate GUIDE Apps についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!