Utilisation des ressources pou les icônes

Résolu
cs_Marten Messages postés 14 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 23 juin 2006 - 22 avril 2006 à 18:21
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 24 avril 2006 à 19:11
Je suis débutant (et même en dessous de ça) pour la programmation avec
l'API Win32. J'ai lu plusieurs tutoriels et j'utilise
dev-c++. A chaque essai que je fais, je n'arrive pas à faire
apparaître l'icône que je veux (dans la barre de titre de la fenêtre.)
Plus généralement, je crois que j'ai besoin de conseils pour
l'utilisation des ressources avec ce logiciel.

Merci bien de m'aider

J'aimerais m'améliorer...

Salut !


[Insert_Emoticon%28%27/imgs2/smile_evil.gif%27%29; ]L'homme en noir fuyait à travers le désert, et le Pistolero le suivait...

Robert Browning

7 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
24 avril 2006 à 06:04
Salut,

Voici une méthode très simple qui marche avec tous les compilateurs:

1- Dans le fichier .rc tu mets:

IDI_ICONE ICON "monicone.ico"



2- Dans le fichier .cpp tu utilises LoadIcon pour initialiser le membre hIcon de la WNDCLASSEX de ta fenêtre:

wcex.hIcon = LoadIcon(hInstance,"IDI_ICONE");



Donc, pas besoin de MAKEINTRESOURCE car le nom de la ressoure ici est traitée comme chaine de caractères et non comme identificateur ayant une valeur numérique
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 avril 2006 à 20:09
Petit exemple ici:

WNDCLASSEX wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_PUREWINDOW);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW);
wcex.lpszMenuName = 0;
wcex.lpszClassName = "WindowClass";
wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);

RegisterClassEx(&wcex);

On suppose que IDI_PUREWINDOW et IDI_SMALL sont des valeur dans ton fichier rc. Sinon je crois que tu peut les remplacer par du char* mais il faudra que l'icon soit présent dans le rep de l'executable à chaque execution

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
22 avril 2006 à 20:19
J'espere cepandent que tu sais comment fonctionne les ressources???

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
cs_Marten Messages postés 14 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 23 juin 2006
23 avril 2006 à 16:45
J'ai essayé de me servir des fonctionnalités de dev c++ pour introduire des icones dans le fichier ressource.Elles y sont et les ressources sont compilées, mais je ne trouve pas ce qu'il faut faire pour les faire apparaître.
Par contre, les codes que j'ai trouvé dans des tutoriels sont
LoadIcon(hInstance , MAKEINTRESOURCE(IDI_ICONE));

IDI_ICONE était l'identificateur de mon icone dans le fichier rc.
A la compilation, je n'ai aucune erreur, mais lorsque j'execute l'application, l'icone n'apparaît pas dans la barre de titre.
J'ai essayé aussi de mettre directement les codes que j'avais trouvé au cas où je n'aurais pas vu une erreur et la même chose s'est produite.
J'ai donc pensé que ça venait de dev-c++
Est-ce qu'il faudrait que j'essaie alors de trouver un autre compilateur ?

sinon peut-être que la taille des icones est importante ?

Merci bien d'essayer de m'aider
Salu à vous.



/Insert_Emoticon('/imgs2/smile_evil.gif');L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait...



Robert Browning
0

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

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 avril 2006 à 16:51
Ah mais ya une autre facon avec devc++. Dans le menu Projet->Options du projet. Ta une section dans général où tu peut choisir l'icon à mettre dans l'application.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
cs_Marten Messages postés 14 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 23 juin 2006
24 avril 2006 à 09:47
Merci à vous ça y est ça marche !

J'ai essayé de faire Projet->Option ... mais là ça marchait pas.
.

Ca marche avec la solution de raccp


Merci quand même à vous deux.

A bientot !




[Insert_Emoticon%28%27/imgs2/smile_evil.gif%27%29; ]L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait...

Robert Browning
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
24 avril 2006 à 19:11
C'est ce que je disais plus haut. Enfin si la methode de racpp marche, fais réponse accepté.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
Rejoignez-nous