MATLAB 的 CALLBACK函数.

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:53:34
举个例子
function fclose_callback(hobject,eventdata,handles)

上面的三个参数是什么意思

hObject: 图形界面的句柄;
eventdata: 为了兼容将来版本的保留接口,直接忽略;
handles: 可以理解成一个全局的structure,用来传输你自己的数据,你可以往handles里面任意添加成员数据,比如handles.m_NewData = 0;
比如有一个按钮,点下去就画一个surf图形,如下:
/////////////////////////////////////////
function pushbutton_Callback(hObject, eventdata, handles)
surf(handles.current_data);
/////////////////////////////////////////
而这个handles.current_data可以是外面其他控件设定的,也可以是你自己设定的

  MATLAB 的 CALLBACK函数是回调函数,就是一个通过函数指针调用的函数。
  如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
  实现的机制
  1、定义一个回调函数;
  2、提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;
  3、当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。