ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 2014
-
31 août 2007 à 11:51
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
1 sept. 2007 à 15:09
Bonjour,
Je cherche à mettre une image sur un bouton qui s'adapte automatiquement dés que la taille du bouton change.
Tout d'abord cette opération est-elle possible en C API Win32?
Si oui comment?
Pour information j'ai déjà trouver comment mettre l'image sur le bouton, je recherche seulement comment faire pour que l'image s'adapte à la taille du bouton.
Mon code actuel:
HBITMAP hBitmap = (HBITMAP)LoadImage( NULL, "taupe.bmp", IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADFROMFILE );
bouton = CreateWindowEx(WS_EX_WINDOWEDGE, "BUTTON", "Mon bouton avec image", BS_BITMAP|WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 0, 0, 150, 75, hwndPrinc, 0, NULL, NULL );
SendMessage( bouton, BM_SETIMAGE, IMAGE_BITMAP, (long)hBitmap );
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 31 août 2007 à 15:01
Salut,
"possible en C API Win32"
Quelques chose sous Windows qui n'est pas possible en C API Win32 est souvent impossible tout court. Presque tout s'appuie là-dessus...
Je sais pas si il y a plus facile, mais tu peux le faire à la main avec la fonctionStretchBlt.
En gros, tu peux ou sous-classer le boutton pour récuperer la WNDPROC ou faire un btn ownerdraw.
Ensuite il faut surcharger le message DRAWITEM et utiliser stretchBlt comme dit plus haut.
ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 20144 31 août 2007 à 22:05
Merci tous le monde pour ces réponses, j'ai également trouvé comment utiliser ces diverses techniques grâce Programming Windows by Charles Petzold. II-14-The GDI Bitmap Object.
Nico
Vous n’avez pas trouvé la réponse que vous recherchez ?
ndubien
Messages postés557Date d'inscriptiondimanche 25 septembre 2005StatutMembreDernière intervention10 mai 20144 31 août 2007 à 17:54
Bonjour,
Merci pour cette réponse rt15,
Mais mon problème est que la taille du bouton n'est pas fixe, il faudrait donc que la taille de l'image change lorsque la taille du bouton change. Je devrait donc faire une procédure propre au bouton qui lui permette d'avoir une image de taille adaptée. Par conséquent, je garde cette réponse en réserve au cas ou aucune autre ne me parvienne.
SnOOpss
Messages postés571Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 5 décembre 2013 1 sept. 2007 à 14:28
C'est pour ne pas afficher le "fond du boutton" si par exemple ton boutton est arrondis il ne faut pas afficher les angles pour permettre a la couleur de fond du dialog d'apparaitre autour du boutton.
Par contre je connaissais pas cette technique merci Yann_lo_san moi je faisait surtout avec TransparentBlt().