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

Axes in ButtondownFcn ignorieren

 

Beginner

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.02.2008, 11:29     Titel: Axes in ButtondownFcn ignorieren
  Antworten mit Zitat      
Hallo zusammen,

ich erzeuge mit 2 seperaten axes-Befehlen (auf die verschiedene Pointer zeigen) einige Achsen in einer GUI. In der einen axes-Gruppe stelle ich mit dem image-Befehl Bilder dar. In der anderen axes-Gruppe kann gezeichnet werden. Jetzt würde ich gerne dass die Achsen in denen sich die Bilder befinden von meiner ButtonDownFcn ignoriert werden.

Da ich bei den Achsen zum zeichnen mit dem gca-Abruf arbeite wäre es wünschenswert, dass dieser keinen neuen Wert liefert wenn man auf eines der Bilder klickt....

VG und herzlichen Dank!


Beginner
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 27.02.08
Wohnort: HD
Version: ---
     Beitrag Verfasst am: 27.02.2008, 11:39     Titel:
  Antworten mit Zitat      
habe mich erstmal registriert....

bisher habe ich es so versucht:
Code:
   set(bilderpointer(i),'ButtonDownFcn','extend');


ich dachte dass dadurch die bilder nur auf "shift-clicks" reagieren würden, was auch schon hinreichend wäre, aber das funktioniert leider nicht....
Private Nachricht senden Benutzer-Profile anzeigen
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 28.02.2008, 23:24     Titel:
  Antworten mit Zitat      
Dir ist entgangen was GCA genau macht. Und zwar liefert die Funktion immer den Handle von der zuletzt anfokusierten/angeklickten Axes. Sobald Du also auf Axes mit Bildern klickst liefert GCA den Handle von der Axes mit Bildern...

In Deinem Falle musst Du die "ButtonDownFcn" nur der zweiten Axes zuweisen.

besser ist es die Axes Handles selbst zu verwalten:
Code:
figure
ha1 = subplot(2,2,1)
image(imread('peppers.png'))
ha2 =subplot(2,2,2)

set(ha2,'ButtonDownFcn','disp(''ich bin kein Bild'')')



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Beginner
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 27.02.08
Wohnort: HD
Version: ---
     Beitrag Verfasst am: 29.02.2008, 13:53     Titel:
  Antworten mit Zitat      
danke, es funktioniert, jedoch war mein problem nicht, dass ich den gca- befehl missverstanden habe, sondern die Property 'ButtonDownFcn'.
Habe ich es nun richtig verstanden, dass wenn ich einem axes-pointer die buttondownfcn zuweise die anderen automatisch nicht auf buttondown reagieren?

VG!
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: 03.03.2008, 10:42     Titel:
  Antworten mit Zitat      
Hallo,

nicht ganz richtig. Du mußt die ButtonDownFcn eines Objektes (axes-Objekt in Deinem Fall) immer selbst definieren. Tust Du das nicht, hat das Objekt auch keine ButtonDownFcn. Es kann also auch mehrere verschiedene ButtonDownFcn's geben, für jedes Objekt eine (oder keine). Wie gesagt, Du mußt alles selbst definieren.

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 - 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.