WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

GUI-Handle über Menüpunkt an externe Funktion übergeben.

 

Anfänger 2.0
Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 17.10.13
Wohnort: kreis Karlsruhe
Version: ---
     Beitrag Verfasst am: 15.01.2016, 16:07     Titel: GUI-Handle über Menüpunkt an externe Funktion übergeben.
  Antworten mit Zitat      
Hi Leute,

ich habe über den GUIDE eine GUI mit einem Menu erstellt.
Der Callback des MenuButtons ruft eine externe Funktion auf.
In dieser Funktion brauche ich das Handle der GUI aus der ich die Funktion aufrufe. Mit folgendem Code habe ich das versucht:

function menu_b1(hObject, eventdata, handles)
    externFunction(get(hObject,'parent'));
end
 

Der Parent des Menüobjektes ist doch die GUI selbst dachte ich, aber irgendwie tut das nicht wirklich.
Folgende Fehlermeldung:
Code:

Attempt to reference field of non-structure array.
 

Es handelt sich um ein Menüpunkt in der Menübar und nicht um ein MenuItem.

Google hat mir nicht weitergeholfen ich komme nur auf Tutorialseiten worin Menübars usw erklärt werden.

Hoffe hier kann mir jemand behilflich sein.

Grüße
Der Anfänger
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 15.01.2016, 16:21     Titel:
  Antworten mit Zitat      
Hallo,

warum nutzt du eigentlich nicht gleich das figure handle deiner GUI?

Code:

handles.figurename = figure(...)
 


In dem von guide erstellten Skript sind die Elemente/Objekte der GUI, also auch die figure versteckt bzw. befinden sich in dem separaten *.fig file. Den Namen bekommst du heraus, in dem du in Guide den Hintergrund deiner GUI doppelt anklickst. Unter "Tag" steht dann der Name des figure handles. Default ist "figure1"

Dein Problem ist aber vermutlich nicht mal der Name, sondern wie du an die Daten in einer Funktion kommst. Diese Frage wird hier immer wieder im Forum gestellt, vor allem bei Usern die mit guide arbeiten.
Das Zauberwort heißt guidata

Code:

function menu_b1(hObject, eventdata, handles)
   % Get the structure using guidata in the local function
   myhandles = guidata(gcbo);

    externFunction(myhandles.figure1);
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.