正在加载图片...
全局变量遵循 MATLAB的规定,变量名要大写。不需要’tag'属性,且不使用它,另外因为对 象句柄存在的,不需要用函数 findobj去获取,故回调代码比较简单,全局变量通常使一个函数 更有效。 不过有一点要注意,尽管一个变量在函数内说明为全局的,变量并不能自动地在命令窗口 工作空间中利用,也不能在回调字符串内使用。但是,如果用户发命令:> clear global,则 所有全局变量则都被破坏,包括在函数内定义的那些变量。 当单独的一个图形或有限个变量要被所有的回调函数)利用时,全局变量使用和递归性函 数调用都是有效的技术。对于包含多个图形的更复杂的函数,或用独立对象回调函数实现的情 况,' UserData'属性更合适。另外,只要可获得对象句柄,对象' UserData'的属性值在命令 窗口工作空间中是存在的。 用户数据属性 同属性’Iag,一样, UserData’属性可在函数之间或递归函数的不同部分之间传递信 息。如果需要多个变量,这些变量可以在一个容易辨识的对象的属性' UserData’中传递。如 前面所述,对与句柄图形对象在一起的单个数据矩阵' User Data'提供了存储。下面的程序 利用了当前图形的' UserData'属性来实现方位角滑标。 function setview(switch 1, switch='startup: end: vw=get(gca, 'View): %This information is needed in both sections if strcmp(switch, 'startup')% Define the controls He az=uncontrol(gcf, 'Style,'slider Position',[10514020] Min,-90,'Max, 90,'Value, vw(1) Callback,' setview("set")): He min= uncontrol(gcf, 'Style,'text, Position’,[10254020], String,num2str(get(Hc az,' Min')); He max=uncontrol(gcf,' Style,text Position',[0254020] String, num2str(get( Hc az,' Max)): He cur=uncontrol(gcf,' Style,text Position',[60254020], String, num2str(get( Hc az,'Value)) set(gcf,'User Data,[Hc az Hc cur): % Store the object handlesset(gca, ' View ' ,newview) end 全局变量遵循MATLAB的规定,变量名要大写。不需要 ' tag ' 属性,且不使用它,另外因为对 象句柄存在的,不需要用函数findobj去获取,故回调代码比较简单,全局变量通常使一个函数 更有效。 不过有一点要注意,尽管一个变量在函数内说明为全局的,变量并不能自动地在命令窗口 工作空间中利用,也不能在回调字符串内使用。但是,如果用户发命令:>> clear global,则 所有全局变量则都被破坏,包括在函数内定义的那些变量。 当单独的一个图形或有限个变量要被所有的回调(函数)利用时,全局变量使用和递归性函 数调用都是有效的技术。对于包含多个图形的更复杂的函数,或用独立对象回调函数实现的情 况, ' UserData ' 属性更合适。另外,只要可获得对象句柄,对象 ' UserData ' 的属性值在命令 窗口工作空间中是存在的。 用户数据属性 同属性 ' Tag ' 一样, ' UserData ' 属性可在函数之间或递归函数的不同部分之间传递信 息。如果需要多个变量,这些变量可以在一个容易辨识的对象的属性 ' UsetData ' 中传递。如 前面所述, 对与句柄图形对象在一起的单个数据矩阵' UserData ' 提供了存储。下面的程序 利用了当前图形的 ' UserData ' 属性来实现方位角滑标。 function setview(switch) if nargin < 1, switch = ' startup ' ; end; vw = get(gca, ' View ' ); % This information is needed in both sections if strcmp(switch, ' startup ' ) % Define the controls Hc_az = uicontrol(gcf, ' Style ' , ' slider ' ,... ' Position ' ,[10 5 140 20],... ' Min ' ,-90, ' Max ' ,90, ' Value ' ,vw(1),... ' Callback ' , ' setview("set") ' ); Hc_min = uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[10 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Min ' ))); Hc_max = uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[110 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Max ' ))); Hc_cur = uicontrol(gcf, ' Style ' , ' text ' ,... ' Position ' ,[60 25 40 20],... ' String ' ,num2str(get(Hc_az, ' Value ' ))); set(gcf, ' UserData ' ,[Hc_az Hc_cur]); % Store the object handles
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有