Bonjour à tous
J'aimerais pouvoir configurer la couleur qui s'affiche lorsque le curseur de la souris (pointeur) est sur un bouton.
J'ai essayé avec les fichiers gtkrc mais cela ne semble pas fonctionner.
Par avance Merci
Version imprimable
Bonjour à tous
J'aimerais pouvoir configurer la couleur qui s'affiche lorsque le curseur de la souris (pointeur) est sur un bouton.
J'ai essayé avec les fichiers gtkrc mais cela ne semble pas fonctionner.
Par avance Merci
Qu'as-tu mis dans ton gtkrc ?
Voici le code de mon gtkrc :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32" gtk-toolbar-icon-size = small-toolbar # disable images in buttons. i've only seen ugly delphi apps use this feature. gtk-button-images = 0 # enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly. # the office apps use them heavily, though. gtk-menu-images = 1 # use the win32 button ordering instead of the GNOME HIG one, where applicable gtk-alternative-button-order = 1 style "msw-test"="msw" { GtkRange::slider_width = 30 } class "GtkScrollbar" style "msw-test" style "msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" } class "GtkWidget" style "msw" style "msw-button"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" } class "GtkButton" style "msw-button" style "msw-label"="msw" { } class "GtkLabel" style "msw-label" style "msw-container"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" } class "GtkContainer" style "msw-container"
Même si je modifie les valeurs, le "petit liseré", qui apparait/disparait en fonction si le curseur de la souris est sur mon bouton ou pas, ne change pas de couleur.
J'aimerais si possible par la meme occassion en modifier la taille (epaisseur) mais bon cela est un autre problème
pour la taille, tu peux la modifier en utilisant la méthode set_size_request, mais si tu as mis une image personalisée sur ton bouton, il y a des risques que l'image soit mal positionnée par rapport au bouton...
Pour la couleur, tu peux rajouter, certains widget ont besoin de ça pour modifier leur couleur.Code:base[PRELIGHT]
Autre tentative, tu mets ton bouton dans une EventBox, et tu essayes de changer la couleur de l'event box... ça marche sur des widgets comme les labels, ou les hbox, mais je sais pas pour les boutons
Soit je comprends pas ou sois j'ai pas été assez clair en ce qui concerne la modification de la taille du liseré de couleur. Je ne cherche pas à modifier la taille de mon bouton ni du label à l'intérieur mais juste du "liseré" qui apparait lorsque le pointeur de la souris se trouve dessus.
En ce qui concerne la couleur je vais essayer l'eventbox carne modifie rien.Code:base[prelight]
Alors j'ai essayé avec une GtkEventBox mais cela ne change rien:
Pour info je mets une image pour indiquer exactement le partie que je veux paramétrée. (c'est le liseré orange autour des boutons à gauche sur l'image)Code:
1
2
3
4
5
6
7
8 style "msw-event"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" base[PRELIGHT] = "#999999" } class "GtkEventBox" style "msw-event"
hm au temps pour moi en ce qui concerne la taille :)
et bien désolé, pas d'autres idée :'( au suivant
Bonjour,
Il n'y a rien dans le fichier ressource pour gérer les bordures. Je viens de regarder un thème qui affiche des bordures lorsque tu survole le bouton, il utilise un moteur (engine) supplémentaire.
Il s'agit du thème gflat quicksilver.
Il utilise la couleur bg[SELECTED] pour les bordures mais je ne sais pas si c'est standard !
Merci pour la réponse mais apparamment cela ne fonctionne pas en standard.
J'ai rajouté bg[SELECTED] dans mon fichier gtkrc mais la bordure reste orange comme sur l'image en pièce jointe.
Pour info :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32" gtk-toolbar-icon-size = small-toolbar # disable images in buttons. i've only seen ugly delphi apps use this feature. gtk-button-images = 0 # enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly. # the office apps use them heavily, though. gtk-menu-images = 1 # use the win32 button ordering instead of the GNOME HIG one, where applicable gtk-alternative-button-order = 1 style "msw-test"="msw" { GtkRange::slider_width = 30 } class "GtkScrollbar" style "msw-test" style "msw" { fg[PRELIGHT] = "#999999" fg[SELECTED] = "#999999" bg[PRELIGHT] = "#999999" bg[SELECTED] = "#999999" base[PRELIGHT] = "#999999" base[SELECTED] = "#999999" GtkButton ::default_border = { 0, 0, 0, 0 } GtkButton ::inner_border = { 0, 0.7, 0.4, 1.0 } } class "GtkWidget" style "msw" style "msw-button"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" base[PRELIGHT] = "#999999" } class "GtkButton" style "msw-button" style "msw-label"="msw" { } class "GtkLabel" style "msw-label" style "msw-container"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" } class "GtkContainer" style "msw-container" style "msw-vbbox"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" base[PRELIGHT] = "#999999" } class "GtkVButtonBox" style "msw-vbbox" style "msw-hbox"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" base[PRELIGHT] = "#999999" } class "GtkHBox" style "msw-hbox" style "msw-vbox"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" base[PRELIGHT] = "#999999" } class "GtkVBox" style "msw-vbox" style "msw-table"="msw" { fg[PRELIGHT] = "#999999" bg[PRELIGHT] = "#999999" base[PRELIGHT] = "#999999" } class "Gtktable" style "msw-table" style "panelbuttons" { xthickness = 1 ythickness = 1 fg[PRELIGHT] = "#2e3436" bg[ACTIVE] = "#afbc84" fg[ACTIVE] = "#ffffff" } widget_class "*Panel*Button" style "panelbuttons"
Tu utilise le thème Windows ! J'ai pas regardé le moteur mais il doit utiliser les fonctions natives de Windows pour dessiner les contrôles donc ça me paraît difficile de faire ce que tu veux :(
Oui je sais que j'utilise le theme windows mais bon vu que je n'avais pas de grosses modifications graphiques à apporter et que c'était un souhait de mon "client" d'avoir le look windows.
J'ai bien réussi à changer l'epaisseur des scrollbar alors je m'étais dit que pour changer la couleur ça devait etre dans le meme style.
Je vais encore continuer à fouiller un peu. Si on peut le faire sur d'autres themes, on doit pouvoir le faire avec le theme windows (la couleur "orange" doit bien etre noté quelque part)
Je comprends, mais c'est difficile d'avoir une application au look intégré et vouloir le modifier :cfou:
Le problème c'est que tu peux modifier facilement les éléments gérés par le fichier ressources, mais là c'est le moteur de thème qui s'occupe de ça. Et si le moteur utilise des fonctions auxquelles tu n'as pas accès (fonctions de windows), ça risque d'être difficile.
Si tu veux les sources du moteur : http://gtk-wimp.sourceforge.net/ ;)
Bon j'ai abandonné l'idée de changer le liseré "orange", il semble qu'il n'y ai pas de solution à part en changeant l'engine.
Par contre je continue dans la même catégorie. je n'arrive pas à mettre mes boutons avec un fond noir . Est-ce encore du à l'engine par défaut ou ai-je fait une erreur quelque part.
Je mets en pièce jointe mon projet (fichier zip). Je développe avec Visual C++ 6.0 et glade.
Si quelqu'un peut regarder.