IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Changer la couleur de la forme


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut Changer la couleur de la forme
    Je veux faire un pushbutton1 quand je donne right click sur lui m'apparait un menu avec les options: rouge,bleu et quand je clique le rouge il transforme ma forme en rouge; quand je clique le bleu il transforme ma forme en bleu. Je ne sais pas que choisir dans la propriete SelectionType(de figure1 alt ou extend pour le click droit) et je sais que je dois utiliser ButtonDownFcn comme callback.

    Il est possible quand je clique droit m'apparaitre 2 options comme popupmenu

    J'ai essaye de mettre un pushbutton mais je ne sais pas comment faire le right click sur lui m'apparaitre 2 options rouge et bleu.

    Le callback associe au right click c'est ca :

    function pushbutton1_ButtonDownFcn(hObject, eventdata, handles)
    % hObject handle to pushbutton1 (see GCBO)
    % eventdata reserved - to be defined in a future version of MATLAB
    % handles structure with handles and user data (see GUIDATA)

    Quelle est le callback associe a rouge quand je donne clique me transformer la forme en rouge et quel est le callback de bleu me transformer la forme en bleu?



    Mais je me suis penche sur une autre piste que j'ai decouvert moi-meme:
    J'essaye avec un pushbutton1 avec la propriete style popupmenu(et dans la propriete String j'ecris Rouge et bleu comme dans le fichier attache).

    Je mis comme style popupmenu(du button pushbutton1) et j'ai marque la propriete String et j'ai complete avec rouge et bleu.

    Dans la figure j'ai selecte la propriete SelectionType comme alt.

    Mais quand je donne click droit sur le button pushbutton1(style popupmenu qui a comme string propriete Rouge et Bleu) il ne m'apparait pas Bleu&Rouge seulement quand je clique le boutton gauche du mouse.


    Mon but principal c'est de changer la couleur de la forme quand je clique le rouge je modifie la couleur de la forme(BackgroundColor) en rouge quand je clique le bleu, la forme devient bleu.



    J'attache ici ce que j'ai mis sur ma forme:

    Pourriez-vous m'aider?

    C'est bien comme j'ai mis mes proprietes :

    figure1(alt ou extend) -pour effectuer right click sur pushbutton1

    pushbutton1(Style -popupmenu et String-Rouge,Bleu)

    Merci en avance!

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Pour créer une liste de choix sur clic bouton droit il faut mieux utiliser un UICONTEXTMENU.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cmenu = uicontextmenu;
    ui=uicontrol('string','bouton','UIcontextmenu',cmenu);
    item1 = uimenu(cmenu, 'Label', 'rouge', 'Callback', 'disp(''rouge'')');
    item2 = uimenu(cmenu, 'Label', 'bleu', 'Callback', 'disp(''bleu'')');

  3. #3
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Merci beacoup caroline.


    Maintenant je veux si je clique sur rouge me changer la couleur de la forme en rouge et si je clique le bleu me changer la couleur de la forme en bleu.

    Le grand boutton c'est le boutton de quitter. (qui n'a pas de string)

    Certains idees?

    J'attache ici la photo:

    http://img13.imageshack.us/img13/137...uleurforme.png

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Je ne comprends pas où se trouve la difficulté.

    1. Tu utilises l'exemple pour l'adapter à ton problème en mettant dans les propriétés Callback des menus l'appel à la fonction de changement de couleur.

    2. Pour modifier la couleur tu as l'air d'avoir compris qu'il faut changer (SET) la propriété BackGroundColor de l'objet.

    Alors quel est le problème ?

  5. #5
    Membre éprouvé
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Par défaut
    Ok. Ca marche j'ai teste.


    J'ai utilise la forme generale et j'adaptais a mon besoin ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set(menu_handle,'DefaultUimenuPropertyName',PropertyValue...)
    La solution c'etait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    >>f=figure      
    cmenu = uicontextmenu;
    set(f,'uicontextmenu',cmenu)
    %
    cb1=['set(f,''Color'',''red'')'];
    cb2=['set(f,''Color'',''blue'')'];
    %
    item1 = uimenu(cmenu, 'Label', 'Red', 'Callback', cb1);
    item2 = uimenu(cmenu, 'Label', 'Blue', 'Callback', cb2);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    >>f=figure     
    handle1=uicontrol(f,'Style','pushbutton','tag','push_1','string','Blue',...
                     'Callback', 'set(f,''Color'',''blue'')','position',[10 10 50 50]);
    handle2=uicontrol(f,'Style','pushbutton','tag','push_2','string','Red',...
                     'Callback', 'set(f,''Color'',''red'')','position',[100 10 50 50]);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer la couleur d'une forme au survol de la souris
    Par chtrousselle dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/11/2012, 17h39
  2. [XL-2003] changer la couleur d'une forme auto et d'un onglet
    Par gueff37 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/01/2011, 18h09
  3. Réponses: 5
    Dernier message: 30/01/2008, 20h24
  4. Changer la couleur d'une forme dynamique
    Par achos dans le forum Flash
    Réponses: 9
    Dernier message: 21/03/2007, 17h57
  5. [Forms] changer les couleurs
    Par Nounoursonne dans le forum Forms
    Réponses: 11
    Dernier message: 02/04/2004, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo