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

handels beim dynamisch löschen/einfügen von uicontrols

 

SubMiri

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.10.2009, 14:03     Titel: handels beim dynamisch löschen/einfügen von uicontrols
  Antworten mit Zitat      
Guten Tach,

sitze schon den ganzen Vormittag an einem Problem und komme nicht weiter.

Zunachst habe ich eine Fenster in GUIDE erstellt, dass ich anschließend in abc_OpeningFcn verändere (löschen und hinzufügen von 'text'- und 'edit'-Feldern)

Wenn ich nun folgendes eingebe:
Code:

bekomme ich alle Elemente, die beim initalisieren dabei waren (incl. den bereits gelöschten Elementen)

mittel:
Code:

erhalte ich alle Elemente, die beim initalisieren dabei waren außer denen die gelöscht wurden (aber ohne die neu hinzugefügten)

was muss ich eingeben/tun, damit ich die handles MIT den neu hinzugefügt uicontrols und OHNE den gelöschten bekomme (also nur die aktuellen)

Schöne Grüße
SubMiri


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 19.10.2009, 14:45     Titel:
  Antworten mit Zitat      
Hallo
da muss du während des Löschens,
auch den entsprechenden Feld aus handles entfernen
und mit guidata abspeichern.

ungefähr so:
Code:

handles = guidata(gcbo);
delete(handles.fig1)
handles= rmfield(handles,'fig1')
guidata(gcbo, handles);
 


so kannst auch nachträglich entfernen:
Code:

handle_fields = fieldnames(handles)
fpos          = cellfun(@(x)all(ishandle(handles.(x))), handle_fields)

handles       = rmfield(handles,handle_fields(~fpos))
 
Private Nachricht senden Benutzer-Profile anzeigen
 
SubMiri
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 26.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.10.2009, 10:34     Titel:
  Antworten mit Zitat      
hm... schade das es dort keine automatische Lsg gibt Crying or Very sad

eine Frage hätte ich dort aber noch:
Meine Fkt. löscht alte Objekte, fügt neue ein und bearbeiten andere Objekte.

Wenn ich nun diese Funktion nun beim initalisieren starten möchte, stoße ich auf das Problem, dass ich noch keine Handles habe.

Momentan läuft das in der Standartfunktion:
Code:
function GUI_ManoeuvreComTable_OpeningFcn(hObject, eventdata, handles, varargin)

Ist das so empfehlenswert oder gibts eine besser Möglichkeit, um bei der Initalisierung das Fenster dynamisch zu ändern?

Grüße
submiri
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.11.2009, 09:32     Titel:
  Antworten mit Zitat      
Hallo,

also OpeningFcn dient ja auch dafür um Initialisierungen bei Starten der GUI
durchzuführen.
Aber die Frage verstehe ich nicht ganz.
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 04.11.2009, 09:42     Titel:
  Antworten mit Zitat      
Hallo,

hmm, guihandles sollte immer noch funktionieren... Hast Du auch einen Tag vergeben beim dynamischen erzeugen der uicontrols? Also
Code:
uicontrol('style', 'edit', 'tag', 'irgendEinTag');
 


Die müsstest Du dann mit guidata natürlich einmal abspeichern (siehe vorher), damit später sie richtig übergeben werden ...

Titus
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.