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

Appdesigner: Handles von vielen Components in Array

 

elchico
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 04.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2022, 21:50     Titel: Appdesigner: Handles von vielen Components in Array
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein Tab in meiner App, in der viele Buttons, Graphen, EditFields usw sind. Nun möchte ich zB 50 % aller Components gleichzeitig ansprechen und Enable/Disable bzw. Visible/Invisible machen, je nachdem, was der User drückt.

Bis jetzt habe ich es so gemacht, dass ich manuell ein CellArray kreiiert habe, welches alle Handles speichert und dann iteriere ich über alle und setze sie auf visible/invisible bzw. enable/disable. Alternativ könnte man über get Children alle Handles bekommen. Das klappt auch, allerdings muss ich dann manuell wieder alle rauspicken, die davon nicht betroffen sein sollen, und die Property zurücksetzen.
Das ist beides denkbar aufwendig und fehleranfällig. Und sobald Plots enthalten sind, geht Enable zB gar nicht mehr, weil dann ein Fehler ausgeworfen wird.

Meine Frage: Gibt es eine Möglichkeit in Appdesigner, die entsprechenden Components anzuklicken und dann ein CellArray automatisch generieren zu lassen?

Danke und LG
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.428
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.01.2022, 08:59     Titel:
  Antworten mit Zitat      
Hallo,

mir ist nichts bekannt, was direkt dem entspricht.
Meine Strategie wäre Panels zu verwenden. Die Einstellungen für Visible und Enable werden auch an die darin enthaltenen Komponenten übernommen.

Sollte das nicht weiterhelfen, wäre ein Beispiel interessant. Du kannst ja den Code, der nicht mit Visible und Enable zu tun hat, herausnehmen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
elchico
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 04.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2022, 12:07     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für Deine Hilfe, so wie immer.

Das mit den Panels habe ich teilweise schon, allerdings gibt es auch die Situation, dass es einzelne Components, über die App verstreut, sind.
Und da hätte ich so eine Option "Markieren + Array automatisch erstellen" cool gefunden.

Aber gut, dann muss ich die Arrays händisch jedes Mal in ein Array einfügen.

Danke Smile
LG
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.428
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.01.2022, 16:01     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
allerdings gibt es auch die Situation, dass es einzelne Components, über die App verstreut, sind.

Da würde ich ein Konstrukt verwenden wie
Code:
app.group1 = [app.Component1, app.Component2, ...];

(group 1 als Property anlegen)

Zitat:
Und da hätte ich so eine Option "Markieren + Array automatisch erstellen" cool gefunden.

Du kannst die Anregung ja mal beim Technischen Support aufbringen. Ich halte es aber für schwierig später nachzuvollziehen, welche Elemente man da zusammengeklickt hat.

Zitat:
Aber gut, dann muss ich die Arrays händisch jedes Mal in ein Array einfügen.

Jedes Mal für jede neue Gruppe - ja. Aber man kann eine einmal angelegte Gruppe ja wiederverwenden.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
elchico
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 87
Anmeldedatum: 04.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.01.2022, 09:06     Titel:
  Antworten mit Zitat      
Guten Morgen Harald,

das mit dem Construct habe ich bisher so gemacht, jop.

Man könnte ja die Constructs auch in die Startup-Fct legen und vorher als Property anlegen. Also genau das, was man (ich) manuell macht, eben automatisch per "Klicken".
Vielleicht erfrage ich das mal, das ist eine gute Idee.

Wie immer: Danke für die Hilfe Smile
LG
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.