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

Résolu
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007 - 14 nov. 2004 à 10:43
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007 - 14 nov. 2004 à 11:53
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 nov. 2004 à 11:36
SendDMessage(hbttn, BM_SETIMAGE, IMAGE_ICON, (long)LoadIcon(hinst, MAKEINTRESOURCE(IDI_ICO)));

ciao...
BruNews, MVP VC++
3
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
14 nov. 2004 à 10:54
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 !
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 nov. 2004 à 11:07
En icone passe aussi avec BM_SETIMAGE, IMAGE_ICON.

ciao...
BruNews, MVP VC++
0
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007
14 nov. 2004 à 11:10
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007
14 nov. 2004 à 11:29
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 nov. 2004 à 11:37
A part erreur de frappe 'D', devrait aller.

ciao...
BruNews, MVP VC++
0
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007
14 nov. 2004 à 11:53
Merci cela fonctionne...
Frenchy
0
Rejoignez-nous