irgendwie wird die SelectionChangeFcn für eine ButtonGroup, welche (nur) Checkboxen enthält, ignoriert. Was mache ich falsch?
Zuerst habe ich mittels GUIDE in einem neuen GUI eine ButtonGroup erstellt. Dann habe ich in diese Checkboxen eingefügt. Alle Bezeichner (Tags) habe ich voreingestellt gelassen. Anschliessend habe ich eine vorprogrammierte SelectionChangeFcn einfügen lassen (Im GUIDE-Hauptfenster: View -> Callbacks -> SelectionChangeFcn). Zuallerletzt habe ich noch in der OpeningFcn den Callback gesetzt.
Im Callback möchte ich z.B. eine externe function aufrufen.
Das Problem lautet nun wie folgt: Im Falle von RadioButtons funktioniert dieses Vorgehen und verkürzt den Code, da nicht für jede Radio-Callback ein Code geschrieben werden muss, sondern die Callback der ButtonGroup (welche der Elternteil aller vereinten Buttons darstellt) dies übernimmt.
Bei Checkboxen wird die SelectionChangeFcn schlicht und ergreifend ignoriert. Gibt es einen Trick, diese trotzdem zu verwenden?
Anbei mein Minimalbeispiel:
Code:
function TestGUI_CheckBoxCallback_OpeningFcn(hObject, eventdata, handles, varargin)
Du kannst bei jedem uicontrol eine Callback Funktion definieren. Nur bei den Radiobuttons muss man den Umweg über die selection change function machen.
da ich das ganze GUI mit Guide erstellt habe, musste ich deinen Vorschlag noch ein wenig weiterdenken. Ich möchte mich bei der Anzahl der Checkboxen nicht festlegen und auch die Bezeichnung variabel lassen. Eigentlich müsste man für jedes Objekt dann eine Callback schreiben, oder diese von Guide vorprogrammierte dann füllen. Kürzer geht es wenn man den gemeinsamen Hauptnenner aller Checkboxen in einer Group nimmt, sprich 'parent' und dann allen 'children' des 'parent' die gleiche Callback-Fkt zuweist. Der relevante Teil des Beispielquelltexts (Rest via Guide) sieht dann wie folgt aus:
Code:
function TestGUI_CheckBoxCallback_OpeningFcn(hObject, eventdata, handles, varargin)
Die aufgerufene callback-Funktion kann als Beispiel gesehen werden. Wenn es jemanden interessiert, wie man dann die aktiven Buttons erhält, so empfehle ich die Diskussion "Radiobutton nicht gleich aktiv bzw Daten nicht verarbeitet" unter http://www.gomatlab.de/viewtopic,p,70783.html#70783
MFG,
Germanus
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.