一部の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