Auswahl von Einträgen in mehreren Listboxen vergleichen
Gast
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.03.2010, 15:46
Titel: Auswahl von Einträgen in mehreren Listboxen vergleichen
Hallo zusammen!
Folgendes Problem: ich habe in einem GUI einige Listboxen, in denen jeweils mehrere Einträge stehen. In jeder Listbox ist der erste Eintrag standardmäßig ausgewählt. Es soll erlaubt sein, in einer Listbox einen anderen Eintrag als den Ersten zu wählen, sobald man dies aber in einer zweiten Box machen will, soll eine Fehlermeldung erscheinen.
Nun meine Frage: wie kann man dieses Problem lösen, ohne jeden einzelnen Zustand für jede Listbox explizit im Code abzufragen?
sofern ich das richtig verstanden habe...
Du könntest es mal über Callbacks versuchen. Setze die 'ButtonDownFcn' der einzelnen Listboxen auf eine Callback-Funktion. Diese Funktion sollte, sobald sie aufgerufen wird, überprüfen, von welcher Listbox sie aufgerufen wurde...
Hier mal der ungefähre Code (nicht auf lauffähigkeit geprüft!)
Code:
h_listboxes(1)=uicontrol('style','listbox','tag','listbox1','ButtonDownFcn',@checklistbox,...);
h_listboxes(2)=uicontrol('style','listbox','tag','listbox2','ButtonDownFcn',@checklistbox,...);
h_listboxes(3)=uicontrol('style','listbox','tag','listbox3','ButtonDownFcn',@checklistbox,...);
% % function checklistbox (src,evnt)
src_tag=get(src,'tag');
ifstrcmpi(src_tag,'listbox1') || strcmpi(src_tag,'listbox2') set(src,'Value',1); % nur der erste eintrag erlaubt, darf nicht verändert werden errordlg('not allowed');
end end
Ich bin mir nicht ganz sicher, wie die ButtonDownFcn sich verhält...aber vielleicht hilft dir das ja irgendwie weiter.
Einstellungen und Berechtigungen
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
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.