what's the difference between handles and hObject?

Where do I use handles and hObject?? And why are there function which contain sometimes both of them plus eventdata and other one of those 3 is missed?? for example function pushbutton1_Callback(hObject, eventdata, handles)

 Accepted Answer

hObject is the handle to the calling object; i.e. the object that is calling the function. handles is a structure with all of the handles to all objects.
The only time I use hObject is if I have two objects sharing a callback, e.g. pushbutton1 and pushbutton2 both call foo_Callback. In this scenario, I would use hObject to determine which one called or if we needed to modify the calling object.

2 Comments

If you put all of them for example function mygui(hObject,handles,eventdata) and you might use only the hObject without any handles or eventdata, is there gonna be a problem??
No, it's just an extra variable. If you don't need them, you can deny them with a tilde
mygui(hObject,~,~)

Sign in to comment.

More Answers (1)

handles is a structure holding ALL of the handles for the GUI.
hObject, is JUST the handle for the GUI object used.
eventdata contains specific event data - like what cell got selected on a table/what key got pressed.

1 Comment

If you put all of them for example function mygui(hObject,handles,eventdata) and you might use only the hObject without any handles or eventdata, is there gonna be a problem??

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!