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

Eigenschaften verändern ohne button zu betätigen

 

Dave86
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 14:37     Titel: Eigenschaften verändern ohne button zu betätigen
  Antworten mit Zitat      
Hallo liebe MatLab Gemeinde!

Ich habe folgendes vor, weiß jedoch nicht, wie ich die Sache angehen kann. Undzwar möchte ich über einen radiobutton eine Eigenschaft aktivieren, jedoch ohne einen button zu betätigen!
Ein Beispiel, damit es ein wenig klarer wird:
Ich habe drei radiobuttons (in einer group), mit denen ich jeweils eine editbox aktivieren kann (Visible=on). Bisher geschieht dies bei mir, wenn ich den radiobutton anklicke und danach auf einen "normalen" bestätige. Nun möchte ich aber, dass wenn ich einen radiobutton betätige, mit sofort die editbox angezeigt wird, ohne vorher den button betätigt zu haben.

Wäre für jede Hilfe sehr dankbar!

MfG

David
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 14:46     Titel:
  Antworten mit Zitat      
Hallo,

das ist natürlich möglich. Du musst nur die entsprechende Callback-Funktion den einzelnen Buttons zuweisen und ggf. den Status des Knopfes überprüfen.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Dave86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 14:48     Titel:
  Antworten mit Zitat      
dib0r hat Folgendes geschrieben:
Hallo,

das ist natürlich möglich. Du musst nur die entsprechende Callback-Funktion den einzelnen Buttons zuweisen und ggf. den Status des Knopfes überprüfen.

MfG


Hallo,

ähm ok! Um mir das vorstellen zu können, kannst du bitte en Beispiel posten?

Gruß

David
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 15:10     Titel:
  Antworten mit Zitat      
Hallo,

ich versuchs mal:
Code:
function bla
rb(1) = uicontrol('style','radiobutton','string','rb_1','position',[10 10 100 30],'Callback',{@cb_rb1});
rb(2) = uicontrol('style','radiobutton','string','rb_2','position',[10 50 100 30],'Callback',{@cb_rb2});
return

function cb_rb1 (hObject, eventdata)
    if ~get(hObject,'Value')
        disp('rb_1 aus');
    else
        disp('rb_1 ein');
    end
return

function cb_rb2 (hObject, eventdata)
    if ~get(hObject,'Value')
        disp('rb_2 aus');
    else
        disp('rb_2 ein');
    end
return



Das ganze wird mit "bla" aufgerufen.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Dave86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 31.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 15:29     Titel:
  Antworten mit Zitat      
Ich habs jetzt spaßeshalber mal so ausprobiert:

Code:

bla();

function bla
rb(1) = uicontrol('style','radiobutton','string','rb_1','position',[10 10 100 30],'Callback',{@cb_rb1});
rb(2) = uicontrol('style','radiobutton','string','rb_2','position',[10 50 100 30],'Callback',{@cb_rb2});
return

function cb_rb1 (hObject, eventdata)
    if ~get(hObject,'Value')
        set(handles.edit1,'Visible','off');
    else
        set(handles.edit1,'Visible','on');
    end
return

function cb_rb2 (hObject, eventdata)
    if ~get(hObject,'Value')
        set(handles.edit2,'Visible','off');
    else
        set(handles.edit2,'Visible','on');
    end
return
 


Jedoch bringt er mir ne Fehlermeldung:

Code:

??? Undefined variable "handles" or class "handles.edit1".

Error in ==> automatisches_Einblenden>cb_rb1 at 132
        set(handles.edit1,'Visible','on');

??? Error while evaluating uicontrol Callback
 


Wie übergeb ich der Funktion ein handle? Bin mit der programmierweise nicht sehr vertraut!
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 16:42     Titel:
  Antworten mit Zitat      
Hallo,

dass mein kurzes Beispiel dein Problem als Ganzes nicht erschlagen würde, sollte dir hoffentlich klar sein. Das war nur ein Beispiel, um zu zeigen wie man Callback-Funktionen anwendet.
Du musst natürlich deine ganzen Variablen, die du in der Callback-Funktion benötigst, auch übergeben.
Code:
rb(1) = uicontrol('style','radiobutton','string','rb_1','position',[10 10 100 30],'Callback',{@cb_rb1 handles});
[...]

function cb_rb1 (hObject, eventdata, handles)
[...]
 
Analog dazu der andere Button.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 20.11.2008, 18:28     Titel:
  Antworten mit Zitat      
Moin,

das Beispiel in der Matlab-Hilfe trägt meines Erachtens auch enorm zum Verständnis bei: http://www.mathworks.com/access/hel.....ongroup&submit=Search

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.