Children option with matlab 2013

1 visualización (últimos 30 días)
Pablo Morcillo Pallarés
Pablo Morcillo Pallarés el 9 de Mayo de 2018
Comentada: Pablo Morcillo Pallarés el 9 de Mayo de 2018
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!

Respuesta aceptada

Jan
Jan el 9 de Mayo de 2018
Editada: Jan el 9 de Mayo de 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 comentario
Pablo Morcillo Pallarés
Pablo Morcillo Pallarés el 9 de Mayo de 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!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by