Children option with matlab 2013

2 visualizzazioni (ultimi 30 giorni)
Hi
So I am trying to 'disable' an option for my gui in matlab. I am working with different versions of matlab.
In matlab 2016, I can directly set this command:
set(handles.untitle.children(1),'enable','off')
And the option in that part will go disable. But if i try to do the same in older versions of matlab, like 2013, it doesnt allow me because it is trying to access a number.
If I try to do something like:
get(handles.untitle,'Children')
It will get me a list of number, instead of the list of variables i can see in matlab 2016.
So, how can i modify the variable in older versions of matlab?
thanks in advance!

Risposta accettata

Jan
Jan il 9 Mag 2018
Modificato: Jan il 9 Mag 2018
The numbers you see in e.g. R2013 are the wanted graphic handles. Before R2014a, which introduced the new graphics library called "HG2", doubles have been used for graphic handles. In consequence your code is correct already:
Children = get(handles.untitle, 'Children');
set(Children(1), 'enable', 'off');
By the way, it is not save to assume, that a specific object is the first children. Recognizing an object by its 'Tag' and/or 'Type' is safer. Even more efficient is to store the handle of the object during the creation already instead of searching it dynamically.
  1 Commento
Pablo Morcillo Pallarés
Pablo Morcillo Pallarés il 9 Mag 2018
Thanks you!!! that way now works fine in both version. Good to know that it was added on 2014.
I will give a look at Tag, but for the moments works fine!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by