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

Popup Menü, von User füllen lassen, Wertübergabe

 

joanna
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 26.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.06.2010, 11:47     Titel: Popup Menü, von User füllen lassen, Wertübergabe
  Antworten mit Zitat      
Hallo,
ich habe lange gebastelt um ein lauffähiges Programm nach meinen Wünschen zu gestalten. Vielleicht kann es ja auch jemand von euch gebrauchen.

Erstmal eine kurze Erklärung:
Es wird eine GUI geöffnet (wird mittels guide erstellt), diese beinhaltet ein Popup-Menü (mit den Werten 1, 2, 3, anderer Wert), ein Static Textfeld, da soll dann durch Klicken eines Pushbuttons der ausgewählte Wert aus dem Popup-Menü angezeigt werden.
Wenn der User im Popup Menü "anderer Wert" auswählt, wird er aufgefordert eine Eingabe zu machen. Diese steht dann unter den bisherigen Werten im Popup Menü und ist auch aktuell angewählt. Außerdem steht wieder an letzter Stelle im Popup Menü "anderer Wert".

In der OpeningFcn steht folgender Code:
Code:

% Zeugs aus Popup Menü:
handles.val = get(handles.popupmenu1, 'Value');
handles.str = get(handles.popupmenu1, 'String');
handles.wert = handles.str{handles.val};

% Textfeld auch gleich mal initialiseren:
set(handles.text1, 'String', handles.wert);

% Daten für die anderen Funktionen auch verfügbar machen
guidata(hObject, handles);
 


In der Callback Funktion des Popup Menüs:
Code:

% hier nochmal die Werte auslesen, weil wenn man sie verändert, bleiben
% Werte aus OpeningFcn trotzdem gleich...
% Zeugs aus Popup Menü:
handles.val = get(handles.popupmenu1, 'Value');
handles.str = get(handles.popupmenu1, 'String');
handles.wert = handles.str{handles.val};

% im Popup Menü gibt es den Eintrag: anderer Wert
% wird das ausgewählt, soll der User eine Eingabe machen, die dann im
% Popup-Menü steht und als aktueller Wert weiterverarbeitet werden soll
% weiterhin soll der eingegebene Wert unter den vorhirgen Werten stehen und
% am Schluss wieder "anderer Wert"
if strcmpi(handles.wert, 'anderer Wert')
    handles.str(handles.val) = [];
    eingabe = inputdlg({'Eingabe: '}, '', 1, {''});
    anderer_wert = eingabe{1};
    str_neu = [handles.str; anderer_wert; 'anderer Wert'];
    set(handles.popupmenu1, 'Value', 1);
    set(handles.popupmenu1, 'String', str_neu);
    set(handles.popupmenu1, 'Value', handles.val);
   
    handles.val = get(handles.popupmenu1, 'Value');
    handles.str = get(handles.popupmenu1, 'String');
    handles.wert = handles.str{handles.val};
end

% Daten für die anderen Funktionen auch verfügbar machen
guidata(hObject, handles);
 


Und in der Callback Funktion des Pushbuttons:
Code:

set(handles.text1, 'String', handles.wert);
 


Wenn euch ein Fehler auffällt, bitte posten.
Wenn Kommentare fehlen, einfach fragen.

Grüße

gui_unsichtbar2.m
 Beschreibung:

Download
 Dateiname:  gui_unsichtbar2.m
 Dateigröße:  6.01 KB
 Heruntergeladen:  1090 mal
gui_unsichtbar2.fig
 Beschreibung:

Download
 Dateiname:  gui_unsichtbar2.fig
 Dateigröße:  2.45 KB
 Heruntergeladen:  1043 mal
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 13.09.2010, 11:10     Titel:
  Antworten mit Zitat      
Moin,

so vom Code überfliegen, sehr schönes Beispiel - findet bestimmt den einen oder anderen Anwendungsbereich Wink

Danke!

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
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.