「フィギュアのコピー」メニューアクションとのプログラムによるもの
-
21-12-2019 - |
質問
GUIウィンドウに追加のUI要素を持つ図をプロットするMATLAB GUIアプリケーションを開発しています。GUIウィンドウメニューにメニューアクションを追加したいと思います。標準図のウィンドウメニューの「コピー図」エントリを正確に複製するように、コピー図形のオプション 'の保存'、 'Force White Background'、 'Match Figure'sを正確に複製したいです。画面サイズ 'を適用できます。
これを行う方法を知っていますか?
ありがとう!
編集した
を追加する[Figureウィンドウ]メニューハンドラのコードをコピー/変更/貼り付けするのではなく、GUIメニュー関数
からそれを呼び出しました。% --------------------------------------------------------------------
function CopyFigureMenuItem_Callback(hObject, eventdata, handles)
% hObject handle to CopyFigureMenuItem (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
editmenufcn(handles.figure1, 'EditCopyFigure');
.
ほぼ確実に将来証明ではなく、将来のバージョンで働くことは保証されていませんが、R2014Aでは、欲しいものがあります。
解決
type
>>edit editmenufcn
.
MATLABコマンドプロンプトで、編集メニューのすべてのプログラムの呼び出しを確認します。どうやらあなたが探しているものは:
editmenufcn(hFigure, 'EditCopyFigure');
.
もちろん、hFigure
はコピーしたい図のハンドルである必要があります。
後で編集
コードへの覗きkingは、より洗練された機能を実装するためにヒントを与えるかもしれません。関数の本体は巨大なswitch
ステートメントです。'EditCopyFigure'
文字列をお探しの場合、興味があるコードスニペットが表示されます。この機能を変更したり、変更を保存したりしないように注意してください。: - )
しかし、この関数は文書化されておらず、後のバージョンで変更/削除される可能性があります。私はあなたがこれに悩まされていないことを願っています。
後で編集しても
明らかに上記は質問に対する答えではありません。答えは「はい、これを行う方法を知っている人は少なくとも1人がいます。 ": - )