Récuperer le Handle d'une icone (VC++)? [Résolu]

Signaler
Messages postés
14
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2007
-
Messages postés
14
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2007
-
J'ai une icone crée dans mon projet (visual C++) (.rc)
je veux mettre cette icone sur plusieurs boutons créé dynamiquement par CreateWindow("button"..)
Ensuite il me semble que je dois utiliser ensuite un SendMessage avec BM_SETIMAGE pour dessiner l'icone sur mes bouton

mais le dernier paramametre dans ce cas là me demande le Handle de l'icone..comment puis je le récupérer? Je séche un peu..merci de m'aider
Frenchy

7 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
SendDMessage(hbttn, BM_SETIMAGE, IMAGE_ICON, (long)LoadIcon(hinst, MAKEINTRESOURCE(IDI_ICO)));

ciao...
BruNews, MVP VC++
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

Att, je cherche dans sur mon dd....
voila...ben déja, ce que tu met sur tes boutons, si je ne me trompe pas, ce n'est pas une icone, mais un bitmap (donc tu fais en sorte de bien transformer ton .ico en .bmp avec un vrai logiciel qui fait cela)...
CD BITMAP DISCARDABLE "cd.bmp"


Dans ton fichier principal....
#define BMP_ABOUT 6001

HBITMAP hBitmap;

HWND buttonBitmap;
               
buttonBitmap = CreateWindowEx(0, "BUTTON", "",
               
      BS_BITMAP | WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON,
      20, 20, 45, 45, hDlg, (HMENU) BMP_ABOUT, hInst, NULL);
                
hBitmap = LoadBitmap(hInst, "cd");
SendMessage(buttonBitmap, BM_SETIMAGE, IMAGE_BITMAP, (long) hBitmap);


Voila, j'espere que ça marchera ^^

Gendal67, à votre service !
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
En icone passe aussi avec BM_SETIMAGE, IMAGE_ICON.

ciao...
BruNews, MVP VC++
Messages postés
14
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2007

Pour l'adapter à mon cas..
Déjà j'avais raté un parametre BS_ICON (fo que je mette des lunettes..lol)..je vais regardé le LoadIcon alors...
Frenchy
Messages postés
14
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2007

Bon le parametrage de mon bouton a l'air correct..simplement il appartient à une boite de dialogue de handle Hdlg

maintenant pour appeler l'icone je dois (sauf erreur) appeler LoadIcon si je ne me trompe pas..

or quand je fais
SendMessage(hwdButton,BM_SETIMAGE,IMAGE_ICON,(LPARAM)LoadIcon((HINSTANCE)Hdlg,(LPSTR(IDI_ICON)) cela ne marche pas..

alors que si je mets SendMessage(....,LoadIcon(hInst,(LPSTR(IDI_PROG)) hInst est l'instance du progamme principal et IDI_PROG l'icone du prog appartenant à la resource interne du projet...

y aun truc que j'ai raté dans ma comprehension??

Frenchy
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
A part erreur de frappe 'D', devrait aller.

ciao...
BruNews, MVP VC++
Messages postés
14
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2007

Merci cela fonctionne...
Frenchy