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

Backgroundcolor uipanel -> An Childs erben?

 

Pille456

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2010, 13:06     Titel: Backgroundcolor uipanel -> An Childs erben?
  Antworten mit Zitat      
Hi,

Ich habe eine relativ komplexe GUI mit relativ vielen Edits/Buttons/Textedits usw.
Diese sieht soweit auch ganz gut aus, nur wurde sie auf das Windows XP Farbschema angepasst und sieht entsprechend doof auf Win Vista/7 aus. Nun kann man dieses Problem ja laut http://www.mathworks.com/help/techd.....-1012439.html#f15-1010714 relativ einfach fixen.
Da habe ich mich gefragt: Gibt es auch eine Möglichkeit, die Hintergrundfarbe von z.B. uipanels zu setzen (wie im Artikel unter dem Link beschrieben), sodass dann alle Kinder dieses uipanles dieselbe Hintergrundfarbe haben? Dann müsste ich nicht bei jedem Edit/Button/etc. das manuell im Konstruktor eintragen.

Gruß


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 02.12.2010, 16:37     Titel:
  Antworten mit Zitat      
Hallo,

leider kenne ich keine direkte, "einfache" Loesung fuer deine Frage, jedoch haette ich einige Vorschlaege.
Du koenntest z.B. dem Feld "UserData" jedes Objektes (Button, txtfeld, edit...) einem bestimmten Wert oder String zuweisen, welcher den Panel definiert in dem es sich befindet. Also z.B. allen Objekten im Panel 1 den Wert 1 zuweisen. Nun koenntest du mit:
Code:

set(findobj('UserData',1), 'Backgroundcolor',[1 0 0]);
 

die Hintergrundfarbe (in diesem Fall rot) all dieser Objekte aendern.

Du koenntest auch die Position des Panels bestimmen und dann schauen welche Objekte sich im Panel befinden und denen dann eine andere Hintergrundfarbe geben. Ich wuerde aber der Einfachhalbhalber das erste Beispiel bevorzugen.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 06.12.2010, 14:41     Titel:
  Antworten mit Zitat      
Hallo

mit FINDALL kann man nach Kindern des Panel suchen:
Code:

h = figure;
hp = uipanel('Title','Main Panel','FontSize',12,...
             'BackgroundColor','white',...
             'Position',[.25 .1 .67 .67]);
hsp = uipanel('Parent',hp,'Title','Subpanel','FontSize',12,...
              'Position',[.4 .1 .5 .5]);
hbsp = uicontrol('Parent',hsp,'String','Push here',...
              'Position',[18 18 72 36]);
pause(2)

set(findall(hp),'BackgroundColor','white')
 
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.