cs_paramotdam
Messages postés29Date d'inscriptionjeudi 24 mars 2005StatutMembreDernière intervention29 mai 2009
-
29 mai 2009 à 13:41
cs_paramotdam
Messages postés29Date d'inscriptionjeudi 24 mars 2005StatutMembreDernière intervention29 mai 2009
-
29 mai 2009 à 18:32
<style>
</style>
Bonjour,
J'aimerais créer une image qui soit cliquable, par
n'importe que moyen
fonctionnant.
J'ai essayé de faire un bouton,
avec une image dessus, mais le problème
c'est qu'on voit les bord du bouton
autour de l'image... (même si on met un
bouton plat)
J'ai essayé de faire
un static, mais je n'arrive pas à mettre d'image
cliquable...
J'ai essayé
de passer par un icône (grâce au tuto :
http://www.siteduzero.com/tutoriel-3-8778-apprentissage-de-l-api-windows.html'all=1#ss_part_8709)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 29 mai 2009 à 15:38
Salut
Tu définies ton image en static et tu interceptes les messages : WM_LBUTTONDOWN et WM_LBUTTONUP.
en vérifiant bien sure que la souris est au dessus de l'image.
Deuxième solution, tu crées un bouton avec le style BS_OWNERDRAW et tu dessines complètement ton bouton. ex:
case WM_DRAWITEM:
DRAWITEMSTRUCT dis;
dis = *(LPDRAWITEMSTRUCT)lParam; ///Get the parameters
for(i=0;i<5;i++) //And test for each button if he need to be painted
if(dis.hwndItem == hwndButton[i] && dis.itemAction==ODA_DRAWENTIRE)
{
if(dis.itemState & ODS_DISABLED)
BitBlt(dis.hDC, 0, 0, 25, 25, hdcButton, 50, 0, SRCCOPY);
else if(dis.itemState & ODS_SELECTED)
BitBlt(dis.hDC, 0, 0, 25, 25, hdcButton, 25, 0, SRCCOPY);
else
BitBlt(dis.hDC, 0, 0, 25, 25, hdcButton, 0, 0, SRCCOPY);
}
break;
A+
____________________________________________________________________________
Mon site internet :
http://ImAnalyse.free.fr