Effacer les filtres
Effacer les filtres

How to create an uicontrol with selectable but non-editable text.

7 vues (au cours des 30 derniers jours)
bbb_bbb
bbb_bbb le 25 Avr 2018
Commenté : Ameer Hamza le 25 Avr 2018
I want to allow user copy a text (or it's part) into clipboard in usual manner (selecting by mouse and pressing Ctrl-C). How to make it? A 'text' style uicontrol doesn't permit selection. Оn the other hand, an 'edit' style permits selection and copying to clipbord but also allows editing what is not desirable.

Réponses (2)

bbb_bbb
bbb_bbb le 25 Avr 2018
Modifié(e) : bbb_bbb le 25 Avr 2018
found "simple" solution:
javatxt = findjobj(editui);
javatxt.Editable=0;
where editui - an 'edit' style uicontrol,
findjobj - a function that Find java objects contained within a specified java container or Matlab GUI handle
  1 commentaire
Ameer Hamza
Ameer Hamza le 25 Avr 2018
Worth mentioning that findjobj is not a MATLAB built-in function. It is available FEX::findjobj here.

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 25 Avr 2018
Hack the Java objects underlying the uicontrol.
But first experiment with setting the uicontrol enable property to 'disable'. The result is a uicontrol that can still scroll but not be edited. I do not recall whether it is selectable.
  2 commentaires
bbb_bbb
bbb_bbb le 25 Avr 2018
set(textui, 'Enable', 'off') - gives non-selectable text.
Dennis
Dennis le 25 Avr 2018

If it is okay to copy the entire text you could create a ButtonDownFcn that copies the string to clipboard.

function copytxt (hobj,~)
      mystring=get(hObj,'String'); 
      clipboard('copy',mystring)
end

Connectez-vous pour commenter.

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!

Translated by