TooltipString won't show if uicontrol Enable is not 'on'
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Walter Roberson
le 23 Jan 2019
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.
Réponses (1)
Luna
le 24 Jan 2019
Modifié(e) : Luna
le 24 Jan 2019
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 commentaires
Walter Roberson
le 24 Jan 2019
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.
Voir également
Catégories
En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!