Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

checkbox spécifique en API Windows XP langage C

2 réponses
Avatar
Roger
Bonjour,
Je voudrais faire apparaître une case à cocher (contrôle checkbox) sans
texte d'accompagnement avec 2 conditions:
1.- la centrer à l'intérieur de son propre contrôle (mais peut-être que ça
n'est pas possible)
2.- Maîtriser la couleur du fond du contrôle (différente de celle de la
fenêtre parente)
j'ai donc utilisé le flag BS_OWNERDRAW dans la description du checkbox avec
un texte vide pour pouvoir récupérer la main lors de son traçage.
Je récupère donc la main par le message: WM_DRAWITEM:
et c'est là que je coince, pour le point 2 j'ai essayé de modifier la
couleur de fond par la fonction: FillRect avec une couleur de brosse, mais
c'est sans aucun effet.
pour le point 1 je ne vois même pas quelle fonction utiliser pour tracer la
case à cocher, donc je ne me pose même pas pour l'instant la question du
centrage.
Avec la fonction DrawFrameControl j'arrive à dessiner une case à cocher,
mais c'est une case inerte équivalente à image (impossible donc ensuite de
la cocher ou de la décocher)
Quelqu'un s'est-il déjà confronté à ce problème ?
Merci

2 réponses

Avatar
Christian ASTOR
Roger a écrit :
Bonjour,
Je voudrais faire apparaître une case à cocher (contrôle checkbox) sans
texte d'accompagnement avec 2 conditions:
1.- la centrer à l'intérieur de son propre contrôle (mais peut-être que ça
n'est pas possible)
2.- Maîtriser la couleur du fond du contrôle (différente de celle de la
fenêtre parente)



Avec BCM_SETIMAGELIST, on peut faire ce que l'on veut...
(en combinant également BM_SETCHECK, test état BST_CHECKED, ...)
Avatar
Roger
Roger a écrit :
Bonjour,
Je voudrais faire apparaître une case à cocher (contrôle checkbox) sans
texte d'accompagnement avec 2 conditions:
1.- la centrer à l'intérieur de son propre contrôle (mais peut-être que
ça
n'est pas possible)
2.- Maîtriser la couleur du fond du contrôle (différente de celle de la
fenêtre parente)





"Christian ASTOR" a écrit dans le message de
news: k7emhl$19o$
Avec BCM_SETIMAGELIST, on peut faire ce que l'on veut...
(en combinant également BM_SETCHECK, test état BST_CHECKED, ...)



Merci pour la réponse, OK pour BM_SETCHECK et BST_CHECKED, mais mon problème
initial c'est de dessiner le checkbox et BCM_SETIMAGELIST n'est pas
mentionné dans mon API, je vais voir si je le trouve sur Internet. Pour
l'instant j'avais entre temps résolu mon problème en utilisant
DrawFrameControl un coup checké et le suivant non checké en utilisant une
bascule.
Merci