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

Mehrere Werte in Popupmenu auswählen und an listbox überge

 

Chris283
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 23.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2011, 06:58     Titel: Mehrere Werte in Popupmenu auswählen und an listbox überge
  Antworten mit Zitat      
...und nochmal ich Very Happy
Guten Morgen!

Für eine Datenauswertung möchte ich mehrere Fahrzeuge aus einem Popupmenu auswählen können und auf einmal aber auch nacheinander an eine listbox übergeben können.

Die Fahrzeuge soll der Nutzer entweder auf einmal druch drücken von STRG und anklicken der verschiedenen Fzge im Popupmenu auswaählen können. Ich habe dann ein Pushbutton der die Dinge an die listbox übergibt. Der Nutzer soll aber auch ein Fahrzeug auswählen, es dann durch drücken des Pushbutton an die listbox übergeben können und das Ganze dann für weitere Fzge nach und nach.

MIt folgendem Code kann ich das Fahrzeug auswählen und übergeben:

->function fke_gui_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.fahrzeuge_popupmenu,'String',{''BMW '213' '212' '211'});

->function uebernehmen_pushbutton1_Callback(hObject, eventdata, handles)
nummer=get(handles.fahrzeuge_popupmenu,'Value')
fahrzeug=get(handles.fahrzeuge_popupmenu,'String')
set(handles.fahrzeuge_listbox,'String',fahrzeug(nummer))

Wenn ich dann aber das nächste Fahrzeug übergebe, wird das alte überschrieben.

Könnt Ihr mir hier auch nochmal weiterhelfen!

Danke und Gruß
Chris
Private Nachricht senden Benutzer-Profile anzeigen


Knappe Franz
Forum-Anfänger

Forum-Anfänger


Beiträge: 24
Anmeldedatum: 07.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2011, 10:52     Titel:
  Antworten mit Zitat      
Hi,

also ich glaub mir fehlt auch das Wissen, um dir kompetent weiterzuhelfen. Soweit ich weiß, kann man im Pop-Up-Menü immer nur ein Element auswählen, dass ist ja auch der eigentliche Sinn dieses Elements.
Vorschlag: Setze zwei Listboxen nebeneinander, dazwischen ein "Übertragen"-Pushbutton. In der linken lässt du dir alle möglichen Fahrzeuge anzeigen, der Nutzer wählt bei gedrückter Strg-Taste alle zu übertragenden Elemente aus und drückt den Button. Oder auch einzeln auswählen und Button drücken.
Dein Problem mit dem Überschreiben kannst du meines Wissens nach nur lösen, indem du den bestehenden String der Listbox auslist (get(..)) und anschließend den neuen String hinten anfügst. Danach den Gesamtstring wieder der Listbox übergeben (set(..)).
Ich hab bei mir auch eine Listbox im Programm, da kann man Dateien auswählen. mit folgendem Code erstelle ich einen String mit allen ausgewählten Elementen, den du dann an deine zweite Lstbox schicken kannst. Ist nicht die eleganteste Lösung, aber funktionert^^
Code:

filenames = '';
            list = get(handles.LIST_cdf,'String');
            list_val = get(handles.LIST_cdf,'Value');
            [x y] = size(list_val);
            for i=1:y
                if i==1
                    filenames = char(list(list_val(i),:));
                else
                    filenames = char(filenames,list(list_val(i),:));
                end
            end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
tompie
Forum-Guru

Forum-Guru


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

zu diesem Thema gibt es eine (wenig bekannte) Dialog-Funktion von Matlab namens

Code:
[Selection,ok] = listdlg('ListString',S)


Damit kann man aus einer vorgegebenen Liste eine oder mehrere Einträge auswählen und übergeben. Das sollte für Dein Problem die richtige Lösung sein.

Gruß tompie
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 - 2025 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.