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

handle übergeben?

 

gast_beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.03.2008, 15:03     Titel: handle übergeben?
  Antworten mit Zitat      
Hi!

wie übergebe ich eine komplette Handle-Struktur eines GUI an eine Funktion, die nicht zum eigentlichen GUI gehört (z.B. eine Timer Function)?


tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 19.03.2008, 16:12     Titel:
  Antworten mit Zitat      
Hallo,

wenn Du Dein GUI mit GUIDE erzeugt hast, stehen alle handles automatisch im handles-struct. Dieser struct steht in allen Callbacks zur Verfügung, solange Du Dich an die Vorgaben des GUIDE-Templates hältst.
Dann ist es auch überhaupt kein Problem, den handles-struct an eine externe function zu übergeben: Einfach die handles in die Parameterliste des function-Aufrufes übergeben. Aber Vorsicht: Wenn Du an den handles etwas veränderst und diese wieder an Dein GUI zurückgibst, solltest Du mit

Code:
guidata(hObject, handles)


die Änderungen im GUI speichern, sonst gehen sie verloren!

Hoffe das hilft,,
Gruß tompie
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 20.03.2008, 00:40     Titel:
  Antworten mit Zitat      
Übergebe nicht den Handles-Strukt selbst, da (wie schon Tompie sagte) dabei nur die Kopie übergeben wird, sondern lediglich den Handle von Deiner GUI. Wenn Du den Handle hast kannst Du entweder die bereits vorhanden Handles auslesen
Code:
handles = guidata(hFigure

oder diese neu erzeugen lassen
Code:
handles = guihandles(hFigure)


Die erste Methode eignet sich gut für GUI die mit GUIDE erzeugt wurden, die zweite für manuel aufgebaute GUI's.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
effa7

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.08.2008, 09:30     Titel:
  Antworten mit Zitat      
Zitat:
Übergebe nicht den Handles-Strukt selbst, da (wie schon Tompie sagte) dabei nur die Kopie übergeben wird, sondern lediglich den Handle von Deiner GUI. Wenn Du den Handle hast kannst Du entweder die bereits vorhanden Handles auslesen


Hallo, könnte mir jemand vielleicht mal ein Beispiel dazu geben? Wie würde die übergabe eines Handles-Strukt selbst aussehen und wie nur die übergabe des GUI-handles?


Ich mache das bisher so:

In der GUI-Initialisierung:
Code:
handles.testfeld=5;
guidata(hObject,handles);


und dann rufe ich z.B. in einem pushbutton callback eine funktion auf
Code:
%In einem pushbutton Callback%
probefunktion(handles);
 
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.