Comment compiler un fichier rc contenant une ressource RCDATA ?

skirby Messages postés 96 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 26 juillet 2007 - 15 avril 2005 à 11:02
cs_Koys Messages postés 5 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 30 avril 2005 - 30 avril 2005 à 18:50
Bonjour à tous,



J'aimerais savoir comment faire pour compiler un fichier rc avec Dev-cpp 4.9.9.2.

J'ai utilisé ResEd comme éditeur de ressources. Voici mon fichier rc :



#define IDD_DLG_MAIN 1000

#define IDC_EDT_INFO 1001

#define IDC_BTN_QUIT 1002

#define ICON_FILE 10000

#define XM_FILE 10001

IDD_DLG_MAIN DIALOGEX 6,5,226,96

CAPTION "Test App"

FONT 8,"MS Sans Serif"

STYLE 0x10CA0800

EXSTYLE 0x00000000

BEGIN

CONTROL "",IDC_EDT_INFO,"Edit",0x50000804,6,12,214,50,0x00000200

CONTROL "Quit",IDC_BTN_QUIT,"Button",0x50010000,8,73,214,15,0x00000000

END

ICON_FILE ICON DISCARDABLE "test.ico"

XM_FILE RCDATA DISCARDABLE "test.xm"





Quand je compile mon projet, Dev-cpp affiche le message d'erreur suivant :

17 D:\test\test.rc [Resource error] syntax error

D:\test\Makefile.win [Build Error] [test_private.res] Error 1



La ligne 17 est la dernière ligne de mon fichier rc (la ligne just après la commande XM_FILE RCDATA DISCARDABLE "test.xm")

Si je retire la ligne avec XM_FILE ... il n'y a plus d'erreur.



Pouvez-vous le dire ce qui ne va pas ?



Merci d'avance et bonne journée.

1 réponse

cs_Koys Messages postés 5 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 30 avril 2005
30 avril 2005 à 18:50
Salut a toi ! Moi aussi j'ai un peu galéré avec les ressources. Pour l'instant j'connais pas d'editeur de ressources qui soit bien compatible avec dev-cpp. En revanche tu peux ecrire tes ressources a la main. Autre detail j'crois que dev-cpp ne permet pas de creer de fenetres avec les ressources il faut les creer avec CreateWindow(). Pour faire un menu avec les ressources par exemple il faut faire un truc dans l'genre.

Deja kan t'as crée ton projet, tu vas dans l'menu -> Projet -> options du projet -> repertoires -> et tu ajoute le dossier courant aux repertoires de ressources et d'inclusion.

Ensuite Il faut creer une en-tete(header) qu'on appelera proghead.h et y marker les
macros qui definissent les boutons du menu

#define BOUTON_UN 101
#define BOUTON_DEUX 102

Apres tu cree un fichier ressource (attention il vaut mieux le creer en faisant Fichier -> Nouveau -> Fichier ressource et on va l'appeler progres.rc

#include "proghead.h"

NOMDUMENU MENU
{
POPUP "&Menu"
{
MENUITEM "&Premier", BOUTON_UN
MENUITEM SEPARATOR
MENUITEM "&Deuxieme", BOUTON_DEUX, GRAYED
}
}

Apres dans ton fichier C, au tout debut juste en dessous de <windows.h> tu ajoute
#include "proghead.h"

Dans la creation d'la classe y'a un moment ou y dois y'avoir un truc ki s'appel:
wincl.lpszMenuName = NULL;
Et bah là tu mets a la place
wincl.lpszMenuName = "NOMDUMENU";

Et enfin pour recuperer les messages quand tu clique sur des elements du menu.
Dans le switch de la boucle tu rajoute:
case WM_COMMAND:
switch (LOWORD(wParam))
{
case BOUTONUN:
MessageBox(hwnd,"Ceci fermera la fenetre","Ca y est",MB_OK);
PostQuitMessage(0);
break;
case BOUTONDEUX:
MessageBox(hwnd,"Deuxieme bouton","Ca marche",MB_OK);

break;
}
break;

voila. si défois t'as tjr un probleme relaisse un msg ca m'avertira
0
Rejoignez-nous