If I change a property of a UIControl in a callback do I still need to call setappdata before exiting?

1 visualizzazione (ultimi 30 giorni)
I start my call back with
handles = getappdata(gcf,'handles');
So I have created a local copy of the handles structure.
Then I modify a control with
set(handles.Batch,'value',1);
Since handles.batch is a handle, don't I automatically change its properties without having to call
setappdata(gcf,'handles',handles);

Risposta accettata

Walter Roberson
Walter Roberson il 30 Lug 2018
Correct, you only have to call setappdata() if you modify the structure itself.
Note: it is more common to use guidata() to manage a handles structure. It does the same thing as setappdata() of a property named UsedByGUIData_m, but people are more accustomed to reading guidata()
  1 Commento
Eugene Davis
Eugene Davis il 30 Lug 2018
Thanks Walter. In my app, which I inherited, there are several GUI data structures. They chose not to add these other structures to the grand handles structure. I suppose all the logic, wrt guidata(), about how to deal with the handles structure apply to other structures. The main difference is that these other structures do not contain GUI handles.

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