begin process at 2012 05 29 15:12:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

pb affichage icone-bouton (pk sa marche pas ??)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb affichage icone-bouton (pk sa marche pas ??)

samedi 18 décembre 2004 à 12:06:49 | pb affichage icone-bouton (pk sa marche pas ??)

Gendal67


Bonjour all! :)

Me revoila....avec un autre souci....j'essaie en vain d'afficher une icone sur un bouton...je pense connaitre tout le necessaire pour faire ça mais quand j'execute le programme, ça ne marche toujours pas (caprice du compilo ??)....voici mon bout de code :


/* fichier de ressources */

// instructions

FLOP ICON PURE LOADONCALL DISCARDABLE "floppy.ico"

// instructions

/* fichier main.cpp */

HICON hFloppy;
HWND hButton;

// instructions

hButton = CreateWindowEx(0, "BUTTON", "", BS_ICON | BS_BITMAP | WS_CHILD | WS_VISIBLE,
450, 40, 45, 45, hDlg, (HMENU) IDC_COLOR, hInst, NULL);

hFloppy = LoadIcon(hInst, "FLOP");
SendMessage(hButton, STM_SETIMAGE, IMAGE_ICON, (long) hFloppy);


voila, ça compile..mais le bouton qui apparait est vide....sans image....:(

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
samedi 18 décembre 2004 à 14:00:33 | Re : pb affichage icone-bouton (pk sa marche pas ??)

leprov

javais eu plus ou moins le meme probleme. essaie de mettre une bitmap a la place de ton icone (javais resolu comme ca, et jai aps reussi a avoir dexplication sur le pk du comment...)
samedi 18 décembre 2004 à 14:21:47 | Re : pb affichage icone-bouton (pk sa marche pas ??)

racpp

Administrateur CodeS-SourceS
Salut,
Puisque tu utilises un identificateur pour ta ressource, il faut faire comme ceci:
hFloppy = LoadIcon(hInst, MAKEINTRESOURCE(FLOP));

Il faut aussi être sûr que hInst est correctement initialisé et contient bien le HINSTANCE de ton prog. Tu peux simplement le remplacer par GetModuleHandle(0):
hFloppy = LoadIcon(GetModuleHandle(0), MAKEINTRESOURCE(FLOP));

Voilà, ça doit marcher comme ça.
samedi 18 décembre 2004 à 15:06:32 | Re : pb affichage icone-bouton (pk sa marche pas ??)

Gendal67


Merci racpp mais en fait, cela n'a rien changé....vais passer par les bitmaps...comme le dit leprov...c'est comme ça que j'avais déja fait mais je ne call pas nan plu pk sa marche pas...enfin...les mystères de la prog' .... sinan, tu pourrais mexpliquer pk faut-il utiliser MAKEINTRESOURCE plutot ke le nom entre guillements ? pour moi, c la mme chose...merci d'avance! ++

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
samedi 18 décembre 2004 à 15:21:02 | Re : pb affichage icone-bouton (pk sa marche pas ??)

Gendal67


c'est bon, j'ai trouvé...c'est tout con...mais j'ai pas callé pourquoi...en quoi ça changeait qqch..voila le code pour les interressés..suffit juste de transfo un SEUL parametre....(2 lettres!!) :


// code original qui marche pas
SendMessage(hButton, STM_SETIMAGE, IMAGE_ICON, (long)

//code qui marche :-))

SendMessage(hButton, BM_SETIMAGE, IMAGE_ICON, (long) hFloppy);


Si qqun a une explication par contre, je suis preneur :)
++

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
samedi 18 décembre 2004 à 21:09:17 | Re : pb affichage icone-bouton (pk sa marche pas ??)

aardman

Membre Club
Salut,
STM: static message
BM: button message
si tu envoies un message STM_* a un bouton il ne peut pas le comprendre.

samedi 18 décembre 2004 à 21:13:55 | Re : pb affichage icone-bouton (pk sa marche pas ??)

Gendal67


ah oki, ben merci aardman pr l'info...kler que quand on sait ça...j'ai l'air un peu niais ^^

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))
dimanche 19 décembre 2004 à 02:37:57 | Re : pb affichage icone-bouton (pk sa marche pas ??)

racpp

Administrateur CodeS-SourceS
Gendal67 > Désolé pour ce retard car je n'étais pas en ligne.
" tu pourrais mexpliquer pk faut-il utiliser MAKEINTRESOURCE plutot ke le nom entre guillements ? pour moi, c la mme chose..."
Non ce n'est pas la même chose. Tout dépend de la déclaration de la ressource dans le fichier .rc. Voici les deux cas:
1- La ressource est déclarée par un nom comme ceci pour ton exemple:
FLOP ICON PURE LOADONCALL DISCARDABLE "floppy.ico"

Dans ce cas tu peux utiliser "FLOP" comme 2eme paramètre de la fonction LoadBitmap().
2- La ressource est déclarée par un identificateur défini auparavant comme ceci:
#define FLOP 101
FLOP ICON PURE LOADONCALL DISCARDABLE "floppy.ico"

La 1ere ligne peut être remplacée (comme dans Visual C++ 6) par:
#include "resource.h"

C'est ce fichier qui contient la définition de FLOP. Puisque LoadBitmap() ne reconnait que le nom de la ressource, MAKEINTRESOURCE() lui permet d'accepter l'idetificateur aussi. Le nom étant une chaine de caractères et l'identificateur un integer.
Pour savoir lequel des 2 cas est le tien, regarde bien ton fichier .rc.

A propos du mystère, je ne vois pas pourquoi un bouton accepterait un bitmap et refuserait un icone. Comme ça marche avec le premier ça doit marcher avec le deuxième. En tous cas ça a toujours marché pour moi.

dimanche 19 décembre 2004 à 09:28:09 | Re : pb affichage icone-bouton (pk sa marche pas ??)

Gendal67


Ah oki!!!! Ben un grand merci pour ta réponse! ça devient +clair à présent! :-)

Gendal67, Dev-C++ 4.9.9.0, J'adore cppfrance!! :-))


Cette discussion est classée dans : bouton, code, icone, marche, instructions


Répondre à ce message

Sujets en rapport avec ce message

probleme d'affichage d'une icone dans un bouton (MFC) [ par MadNomad53 ] J'ai un souci pour afficher une icone dans un bouton. J'arrive a afficher une icone standard (genre logo windows) mais quand c'est ma propore icone ca Programme Crasher [ par Kephren ] Salut, je viens demander de l'aide à propos de mon programme. En fait il marche très bien mais depuis que j'ai rajoutée du code, une fois compilé, je code asm en c++ [ par HCJarod ] Salut,j'ai un petit problème sous Borland C++. Lorsque j'insère de code assembleur dans ma source par asm{..} et que je veux faire du pas à pas, il y Mon code ne marche pô ! [ par xavier59 ] Mon code ne marche pas !Merci de m'aider !!!**************************************************# include # include int main(){ int tab[5]; int i; int t Mettre une image sur un bouton [ par patatedu65 ] Bonjour!! quelqu'un peut il me dire comment peut on mettre une image en .bmp sur un bouton sous VC++ ??? Du code du code!!! :-DBTS Info Indus (2ème a Trier un set, ca marche pas!!! besoin d'aide svp... [ par jamirc ] j'ai un set de pointeur Etudiant,je veux en faire le tri par le type du programme et ca marche pas.Voici les attributs dans mon Etudiant.hprotected: icone dans un bouton obligatoirement en 32x32? help! [ par tkrys ] Je désire afficher une icone dans un bouton en MFC.J'y arrive donc à l'aide de LoadIcon, mais l'affichage est dégueux et rien ne semble pouvoir me per pb de polygones et autres [ par dbtm ] Salut payen, et les autres..?J'ai d'autres bugs, en plus de l'affichage de mes polygones.L'executable créé marche sous vc mais bugge quand je le lance Default Button marche pas [ par guimou ] Salut, j'ai un pb avec une dialogbox : c'est une boite toute simple pour taper son mot de passe, ya juste un edit en mode password, un bouton OK et un Focus Visual C++ 6.0 [ par Steph115 ] Salut a tous,J'aimerais savoir si qqun sait comment faire pour obtenir le focus j'ai un HWND console; ou console represente ma fenetre et je lui fait


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,544 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales