2016-08-09 3 views
0

私は現在、MATLABのGUIDEプログラミングを学んでいます。 Figureにオブジェクトを配置すると、対応する 'CreateFcn'コールバック関数が関連する.mファイルに作成されていることがわかります。 MATLABのコメントには、オブジェクトが作成されたときにこの関数が実行されると記述されています(これはオブジェクトのコンストラクタとみなされます)。MATLAB GUI - コード内のCreateFcnコールバックを削除するにはどうすればよいですか?

しかし、私はすべてのオブジェクトがこの 'CreateFcn'コンストラクタを持っているとは思われません。静的テキストオブジェクトは、このコールバック関数を持っていないようです。現在のところ、この関数はコードを読みにくくしているようです。だから私は削除することができれば私は興味があります。

削除すると、機能が見つからないというコードにエラーが発生する傾向があります。だから私の質問:私のコードをdeclutterするために 'CreateFcn'メソッドを削除することは可能ですか?

ありがとう、

答えて

2

確かに可能です。

オブジェクトをダブルクリックしてインスペクタウィンドウを開き、 "CreateFcn"プロパティを探し、その値を空の文字列に設定します。 .mファイルに移動し、CreateFcnのコードを削除します。このようにして、MATLABは、もはや欠落しているCreateFcnについては不平を言いません。

CreateFcnは、オブジェクトのすべてのプロパティが既に設定された後に発生するため、実際にはコンストラクタではありません。これは、オブジェクトの初期動作をさらに動的にカスタマイズする機会をユーザに与えるオプションのポストコンストラクタイベントのようなものです。たとえば、オブジェクトが表示される背景色に応じて、作成時にオブジェクトの色をカスタマイズできます。ほとんどのコントロールオブジェクトでは、デフォルトの動作はおそらくすでに十分です。だからこそ、それらのCreateFcnsを安全に削除することができます。

関連する問題