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

GTK+ avec C & C++ Discussion :

Gestion des couleurs de gtk


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut Gestion des couleurs de gtk
    Bonjour,

    J'ai un besoin assez simple dans mon application mais qui me paraît délicat de mettre en oeuvre par gtk. Il s'agit de changer les couleurs fg, bg de certains widgets et puis de revenir aux couleurs initiales selon le déroulement des événements. Sachant que ces couleurs sont initialisées par les fichiers gtkrc de l'environnement des utilisateurs qui sont "hors" application.
    Pour changer des couleurs, on peut utiliser des fonctions du type gtk_widget_modify_bg, ...
    En revanche, pour revenir aux couleurs initiales, je dois sauvegader ces couleurs par une certaine fonction du type gtk_widget_get_bg ...avant ... modify... Or je n'ai pas trouvé cette possibilité proposée par gtk.
    J'aimerais savoir si quelqu'un parmi vous a une idée sur une fonction gtk permettant l'obtention de la couleur en cours (bg, fg, ...) d'un widget.

    Merci à l'avance et cordialement.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 176
    Par défaut
    Bonjour, j'ai trouvé plusieurs moyens de le faire (je n'ai pas testé) :

    1) Un appel avec NULL remet le widget dans l'état qu'il était avant modification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void                gtk_widget_modify_bg                (GtkWidget *widget,
                                                             GtkStateType state,
                                                             const GdkColor *color);
     
    Sets the background color for a widget in a particular state. color :
     the color to assign (does not need to be allocated), or NULL to undo the effect of previous calls to of gtk_widget_modify_bg().
    (idem avec gtk_widget_modify_fg () )

    2) Tu peux récupérer l'état actuel du widget (le gtkrc) grâce à cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GtkRcStyle*         gtk_widget_get_modifier_style       (GtkWidget *widget);
    Voilà je pense que ça devrait suffire.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut
    Merci pour cette piste. Je vous en tiendrai au courant si cela marche dans le contexte applicatif que j'ai.

    Bon W-E et cordialement.

  4. #4
    Membre confirmé Avatar de LeBelge63
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Par défaut
    Voici pour modifier le bg :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    color.pixel = 0;
    		color.red=65025;
    		color.green=65025;
    		color.blue=65025;
    		gtk_widget_modify_bg(GTK_WIDGET(pWindow), GTK_STATE_NORMAL, &color);
    Ici la couleur du bg est blanche.

Discussions similaires

  1. Gestion des couleurs dans un datagrid
    Par edophie dans le forum Flash
    Réponses: 4
    Dernier message: 07/11/2006, 11h08
  2. Export Excel - Gestion des couleurs
    Par Shansson dans le forum Access
    Réponses: 7
    Dernier message: 21/04/2006, 15h25
  3. [VB] gestion des couleurs des variables de type string
    Par landry005 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/03/2006, 14h36
  4. Réponses: 2
    Dernier message: 11/05/2005, 13h23
  5. [Debutant] gestion des couleurs ??
    Par MaxiMax dans le forum OpenGL
    Réponses: 5
    Dernier message: 26/03/2004, 08h34

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