评估图形 WindowButtonDownFcn 时出错-matlab 指南中的未定义函数 class

Error while evaluating figure WindowButtonDownFcn-Undefined function within a matlab guide class

算法加载并显示两张图片。用户可以选择单击任一图像并将其拖过屏幕。 objective 是为了让用户能够叠加图像。

有两个脚本 1)Main.m 和 2)gui_class。脚本 Main.m 包含图形用户界面函数和回调。 gui_class 用于加载图片,模拟点击启动图片拖动功能。

classdef gui_class < handle之内 谎言

properties (Access = private)
        x = [];
        y = [];

        c1 = [];
        r1 = [];
        h  = [];
        w  = []; 

        gui_h;
end
    methods

        %function - class constructor - creates and init's the gui
        function this = gui_class

            %make the gui handle and store it locally
            this.gui_h = guihandles(Main);
             %set the callback functions

                set(this.gui_h.load_image ,'callback' ,@(src, event) load_image_Callback(this, src, event))
        end
    end
`    methods (Access = private)


        function this =  load_image_Callback(this, src, event)
            %code loads and displays images here
            %trigger a mouse click
            set(gcf,'windowbuttondownfcn',@(src, event) Mclicked(src, event));
        end
        function Mclicked(this, src, event)
     % get the handles structure
         set(gca,'units','pix') ;
         mousePositionData = get(gca, 'CurrentPoint')
         this.x = mousePositionData(1,1);
         this.y = mousePositionData(1,2);
           %...Perform task
        end

我收到一条错误消息:在 matlab 指南中评估图形 WindowButtonDownFcn 时出错 - 未定义的函数 class 'double'.

类型的输入参数的未定义函数 'Mclicked'

错误 gui_class/load_image_Callback/@(src,event)Mclicked(src,event)

如何正确调用该函数?除了那个问题,为什么会发生这种情况? 我在 main.m 中声明如下:

function Mclicked(hObject, eventdata, handles)

函数 Mclicked 是一个绑定到 gui_class 实例的方法,并期望 class 作为它的第一个参数或通过点符号从class。所以要么

set(gcf,'windowbuttondownfcn',@(src, event) Mclicked(this, src, event));

set(gcf,'windowbuttondownfcn',@(src, event) this.Mclicked(src, event));

将调用该方法。