J'utilise du code pour gérer les menus et y ajouter des icônes. Pour cela,
on s'adresse au système pour trouver la couleur de fond de la barre de menu.
Sous 98 cela fonctionne parfaitement.
Sous XP c'est la galère :
Suivant le mode d'affichage (style XP ou un autre style), les retours sont
différents, et faux. De plus, cela fonctionne en magouillant chez certains,
pas chez d'autres, avec des configurations d'affichage semblables.
Bref, je voudrais "lire" (en VB je le ferais avec point(x, y)) la couleur de
la barre de menu. C'est à dire allez dans la zone non-client de la fenêtre
et pouvoir utiliser un truc similaire à point(x, y)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Alexis [MVP]
Salut Christian,
Tu as écrit :
J'utilise du code pour gérer les menus et y ajouter des icônes. Pour cela, on s'adresse au système pour trouver la couleur de fond de la barre de menu.
Sous 98 cela fonctionne parfaitement.
Sous XP c'est la galère :
Suivant le mode d'affichage (style XP ou un autre style), les retours sont différents, et faux. De plus, cela fonctionne en magouillant chez certains, pas chez d'autres, avec des configurations d'affichage semblables.
Bref, je voudrais "lire" (en VB je le ferais avec point(x, y)) la couleur de la barre de menu. C'est à dire allez dans la zone non-client de la fenêtre et pouvoir utiliser un truc similaire à point(x, y)
Une idée ?
Facile ! :-) Tu peux utiliser les constantes de couleurs définies dans VB : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vb98/html/vbidxColorConstants.asp
Dans ton cas :
vbActiveTitleBar : &H80000002 - Color of the title bar for the active window
J'utilise du code pour gérer les menus et y ajouter des icônes. Pour cela,
on s'adresse au système pour trouver la couleur de fond de la barre de menu.
Sous 98 cela fonctionne parfaitement.
Sous XP c'est la galère :
Suivant le mode d'affichage (style XP ou un autre style), les retours sont
différents, et faux. De plus, cela fonctionne en magouillant chez certains,
pas chez d'autres, avec des configurations d'affichage semblables.
Bref, je voudrais "lire" (en VB je le ferais avec point(x, y)) la couleur de
la barre de menu. C'est à dire allez dans la zone non-client de la fenêtre
et pouvoir utiliser un truc similaire à point(x, y)
Une idée ?
Facile ! :-) Tu peux utiliser les constantes de couleurs définies dans VB :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vb98/html/vbidxColorConstants.asp
Dans ton cas :
vbActiveTitleBar : &H80000002 - Color of the title bar for the active window
J'utilise du code pour gérer les menus et y ajouter des icônes. Pour cela, on s'adresse au système pour trouver la couleur de fond de la barre de menu.
Sous 98 cela fonctionne parfaitement.
Sous XP c'est la galère :
Suivant le mode d'affichage (style XP ou un autre style), les retours sont différents, et faux. De plus, cela fonctionne en magouillant chez certains, pas chez d'autres, avec des configurations d'affichage semblables.
Bref, je voudrais "lire" (en VB je le ferais avec point(x, y)) la couleur de la barre de menu. C'est à dire allez dans la zone non-client de la fenêtre et pouvoir utiliser un truc similaire à point(x, y)
Une idée ?
Facile ! :-) Tu peux utiliser les constantes de couleurs définies dans VB : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vb98/html/vbidxColorConstants.asp
Dans ton cas :
vbActiveTitleBar : &H80000002 - Color of the title bar for the active window
Me.Line (Me.ScaleWidth / 2, 0)-(Me.ScaleWidth, Me.ScaleHeight), vbMenuBar, BF Me.Line (Me.ScaleWidth / 2, 0)-(Me.ScaleWidth / 2, Me.ScaleHeight), vbBlack End Sub
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com
"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le message de news:ch7bjr$n5j$ > La couleur devrait être vbMenuBar. > > Mais pas sous XP ; c'est souvent sous XP la couleur de face du > bouton. Mais pas dans tous les cas... Bref, ça ne marche pas. >
Merci je teste cela de suite...
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de
news:%23zOmN5PkEHA.1712@TK2MSFTNGP09.phx.gbl...
Me.Line (Me.ScaleWidth / 2, 0)-(Me.ScaleWidth, Me.ScaleHeight),
vbMenuBar, BF
Me.Line (Me.ScaleWidth / 2, 0)-(Me.ScaleWidth / 2, Me.ScaleHeight),
vbBlack
End Sub
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
"Christian HUBERT-HUGOUD- Xtrem7" <c.hubert-hugoud@xtrem7.com> a écrit
dans le message de news:ch7bjr$n5j$1@apollon.grec.isp.9tel.net
> La couleur devrait être vbMenuBar.
>
> Mais pas sous XP ; c'est souvent sous XP la couleur de face du
> bouton. Mais pas dans tous les cas... Bref, ça ne marche pas.
>
Me.Line (Me.ScaleWidth / 2, 0)-(Me.ScaleWidth, Me.ScaleHeight), vbMenuBar, BF Me.Line (Me.ScaleWidth / 2, 0)-(Me.ScaleWidth / 2, Me.ScaleHeight), vbBlack End Sub
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com
"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le message de news:ch7bjr$n5j$ > La couleur devrait être vbMenuBar. > > Mais pas sous XP ; c'est souvent sous XP la couleur de face du > bouton. Mais pas dans tous les cas... Bref, ça ne marche pas. >