Pergunta

Estou desenvolvendo um aplicativo GUI do Matlab que plota uma figura com elementos de interface do usuário adicionais na janela da GUI.Eu gostaria de adicionar uma ação de menu ao menu da janela GUI que duplique exatamente a entrada "Editar | Copiar Figura" do menu da janela de figura padrão, para que as opções de cópia de figura 'preservar informações', 'forçar fundo branco' e 'corresponder figura tamanho da tela' pode ser aplicado.

Alguém sabe como fazer isso?

Obrigado!

EDITAR Para adicionar o que funcionou

Em vez de tentar copiar/modificar/colar o código no manipulador de menu da janela de figura, acabei de chamá-lo a partir da função de menu da 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');

Quase certamente não é à prova de futuro e não é garantido que funcione em qualquer versão futura, mas no R2014a ele faz o que eu quero!

Foi útil?

Solução

Tipo

>>edit editmenufcn

no prompt de comando do Matlab para ver todas as invocações programáticas do menu Editar.Aparentemente o que você está procurando é:

editmenufcn(hFigure, 'EditCopyFigure');

Claro, hFigure deve ser o identificador da figura que você deseja copiar.

Editar mais tarde

Espiar o código pode lhe dar dicas para implementar funcionalidades mais refinadas.O corpo da função é um enorme switch declaração;procurando por 'EditCopyFigure' string fornecerá o trecho de código no qual você está interessado.Tenha cuidado para não modificar esta função ou salvar as alterações.:-)

No entanto, esta função não está documentada e pode ser alterada/removida em versões posteriores.Espero que você não esteja incomodado com isso.

Editar ainda mais tarde

Aparentemente, o que foi dito acima não é a resposta para a pergunta.A resposta seria "Sim, há pelo menos alguém que sabe fazer isso." :-)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top