2

一部のMATLABuicontrol(ドロップダウンボックスなど)をカスタマイズして、よりユーザーフレンドリーな機能を提供したいと思います。

私の質問は:uicontrolを拡張/継承することは可能ですか?もしそうなら、どのようにそれをしますか?そうでない場合、回避策はありますか?

この基本的なコードをセットアップするためだけに試しましたが、次のエラーが発生します。

The specified super-class 'uicontrol' contains a parse error or cannot be found on MATLAB's search path, possibly shadowed by another file with the same name.

classdef ComboBox < uicontrol    
    methods(Access = public)
        function obj = ComboBox()
            set(obj, 'Style', 'popup');
        end 
    end
end

図に追加しようとすると、エラーが発生します。

cmb = ComboBox();
set(cmb, 'Parent', obj.ui_figure);

編集:それについて考えた後、これはまともな回避策になると思いますが、可能であれば、uicontrolを拡張する方法を知りたいです。

classdef ComboBox < uicontrol    
    properties(Access = public)
       Control;
    end

    methods(Access = public)
        function obj = ComboBox(parent, items)
            obj.Control = uicontrol();
            set(obj.Control, 'Style', 'popup');
            set(obj.Control, 'Parent', parent);
            set(obj.Control, 'String', items);
        end 
    end
end
4

1 に答える 1