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

Mit ButtonDownFcn Variabeln als Paramter an Funkt. übergebe

 

Localhorst
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 86
Anmeldedatum: 18.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.02.2008, 15:25     Titel: Mit ButtonDownFcn Variabeln als Paramter an Funkt. übergebe
  Antworten mit Zitat      
Hallo,

ich rufe über ButtonDownFcn die Funktion x_move auf,
ich möchte nun aber drei Parameter übergeben.

Den konstanten String 'go'

und die beiden numerischen Variabeln x_size_win und y_size_win

ich habe leider keine Ahnung wie ich dies machen kann, bin etwas irritiert von den vielen '' in der zweiten Zeile.


set(hd_bi,'ButtonDownFcn','x_move')
set(hd_map,'WindowButtonUpFcn','x_move(''stop'')')


Ich habe in der MatLab Hilfe etwas gefunden was aber leider nicht funktioniert.

Zitat:

Passing Additional Input Arguments

You can define the callback function to accept additional input arguments by adding them to the function definition. For example,

function myCallback(src,eventdata,arg1,arg2)

When using additional arguments for the callback function, you must set the value of the property to a cell array (i.e., enclose the function handle and arguments in curly braces). For example,

figure('WindowButtonDownFcn',{@myCallback,arg1,arg2})


Über etwas Hilfe würde ich mich sehr freuen

MFG
Localhorst
Private Nachricht senden Benutzer-Profile anzeigen


chris2.3sportline
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 09.03.09
Wohnort: ---
Version: R2009a
     Beitrag Verfasst am: 16.03.2009, 16:27     Titel:
  Antworten mit Zitat      
Hallo,

hast du dazu inzwischen schon etwas herausgefunden?
Oder gibt es inzwischen jemand anderen, der dazu etwas schreiben kann.

Danke.

MfG
Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 16.03.2009, 18:38     Titel:
  Antworten mit Zitat      
Hallo,
Bitte konkretisiere deine Frage, weil es unklar war, was bei Localhorst nicht klappte.

Weil in der Beispiel muss die Funktion
Code:

function myCallback(src,eventdata,arg1,arg2)
arg1
arg2
 

vorher als m-File abgespeichert werden.

Und erst dann kann man in der Matlab-Konsole folgendes eingeben
Code:

arg1=1;
arg2=2;
figure('WindowButtonDownFcn',{@myCallback,arg1,arg2})
 
Private Nachricht senden Benutzer-Profile anzeigen
 
muh und milch
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.02.08
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 14.04.2009, 09:20     Titel:
  Antworten mit Zitat      
hallo,

ich habe ebenfalls ein problem mit der 'buttondownfcn'-prop. Auch ich möchte darüber eine externe funktion aufrufen und dieser ein paar parameter übergeben:

Code:

function_handle=@gui_span_buttonpress;
set(handles.axes1, 'buttondownfcn', {function_handle, process, handles});
 


bereits abgespeichert ist:

Code:

function gui_span_buttonpress(process, handles)
 


die variable 'process' ist bei mir ein struct aus ca. 10 einzelnen variablen. als fehlermeldung erscheint:


Code:

??? Error using ==> gui_span_buttonpress
Too many input arguments.

??? Error while evaluating axes ButtonDownFcn
 


daher meine frage: ist es nur erlaubt 2 variablen zu übergeben, wie oben bei 'denny' beschrieben? also sinn würde es nicht machen.
ich würde mich über eine gedankenstütze, wo ich den fehler zu suchen hab, sehr freuen.

schöne grüße

martin
Private Nachricht senden Benutzer-Profile anzeigen
 
muh und milch
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 13.02.08
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 14.04.2009, 09:41     Titel:
  Antworten mit Zitat      
ok ich hab jetzt mal nen bissel rumprobiert und habe entdeckt, dass der aufruf mit 'src,eventdata' als zusätzliche inputvar meiner externen fkt. zum ziel führt.

Code:

function gui_span_buttonpress(src,eventdata,process, handles)
 

aber ich verstehe nicht wieso. Da weder 'src' noch 'eventdata' von meiner externen fkt. genutzt werden.

habt ihr vielleicht ideen?

viele grüße
mrtn
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 14.04.2009, 11:13     Titel:
  Antworten mit Zitat      
Hallo,

zur Erklärung: die beiden Variablen werden standardmässig mitgeliefert (ob man es haben will oder nicht).

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 14.04.2009, 11:32     Titel:
  Antworten mit Zitat      
Hallo, so wird die Callback-Fcn definiert
An Erste-Variable wird Handle von GUI-Objekt übergeben, die Callback-Fcn auslöst.
An Zweite-Variable soll ausgelöste Ereignis übergeben werden, zur Zeit leer.

Diese 2 Inputvariablen müssen immer im Funktion-Kopf definiert sein.
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.