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

Position eines GUI-Objekts (via m-file erzeugt) ermitteln

 

Lloyd Blankfein
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 23.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2012, 17:15     Titel: Position eines GUI-Objekts (via m-file erzeugt) ermitteln
  Antworten mit Zitat      
Hallo,

ich möchte auf die Position eines GUI-Objekts zugreifen. Dieses Objekt wurde in einer anderen Funktion erzeugt und ist deshalb erstmal nicht direkt aufrufbar.

Mein Hauptfenster heißt figure1, dessen Position erhalte ich so:
Code:
get(handles.figure1,'Position') % [1,54,1280,952]
 


Mein Hauptfenster besitzt fünf Objekte:
Code:
get(handles.figure1,'Children') % [ 20.0038;19.0038;18.0038;17.0039;193.0034]
 


Wie schaffe ich es an die Eigenschaften (z.B die Position) dieser Objekte ranzukommen?

Vielen Dank für eure Hilfe,
Lloyd
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 21.03.2012, 18:59     Titel:
  Antworten mit Zitat      
Hallo

FINDOBJ könnte in dem Fall helfen. Muss du einfach Objektmerkmale(Tag/Style) eingeben, welche an Objekt identifizieren können

Code:

    h= figure
    hax = axes('Units','pixels');
    surf(peaks)

uicontrol('Style', 'popup',...
           'String', 'jet|hsv|hot|cool|gray',...
           'Position', [20 340 100 50],...
           'Callback', @setmap);

uicontrol('Style', 'pushbutton', 'String', 'Clear',...
        'Position', [20 20 50 20],...
        'Callback', 'cla');  

pause(1)
% am Besten Tag zu nutzen, oder andere markante
gh  = findobj(h,'Style','pushbutton', 'String','Clear')
pos = get(gh,'Position')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Lloyd Blankfein
Themenstarter

Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 23.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2012, 09:31     Titel:
  Antworten mit Zitat      
Hallo denny,

mir ist nicht klar nach welcher Art von Objekt ich findobj suchen lassen soll.

Code:

[mtree, container] = uitree('v0', 'Root', root);
set(container, 'Parent', handles.figure1, 'Units', 'normalized', 'Position', [0, 0, 0.2, 1]);  % fix the uitree Parent
 


Den obigen uitree möchte ich "finden". Das habe ich so versucht:

Code:

findobj(handles.figure1,'Style','uitree')
 


Das return value ist eine leere Matrix. Was mache ich falsch???

Gruß,
Lloyd
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 28.03.2012, 11:21     Titel:
  Antworten mit Zitat      
Hallo

mit JAVA-Objekten ist hier schwieriger, da bin ich nicht so vertraut,
so kannst man das handle finden:
Code:
findobj(handles.figure1,'Type','hgjavacomponent')


versuch diese Funktion von FEX
http://www.mathworks.com/matlabcent.....of-matlab-graphic-objects
Private Nachricht senden Benutzer-Profile anzeigen
 
Lloyd Blankfein
Themenstarter

Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 23.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2012, 11:32     Titel:
  Antworten mit Zitat      
Code:

findobj(handles.figure1,'Type','hgjavacomponent')
 


Vielen Dank, das funktioniert perfekt!
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 - 2025 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.