Aller au contenu

DevC++ et resource (pb résolu)


mogwai93

Messages recommandés

Bonjour,

voila mon pb:

J'utilise DevC++ et j'ai essayé d'utiliser les ressources (fichiers .rc) pour faire mes fenetres.

Car par le code, c'est faisable, mais assez fastidieux....

#include <windows.h>
#include "resource.h"

BOOL CALLBACK DialogProc(  HWND hWnd,
        UINT message,
        WPARAM wParam, 
        LPARAM lParam  )
{
return false;
}

int WINAPI WinMain(  HINSTANCE hInstance,
     HINSTANCE hPrevInstance,
     LPSTR lpCmdLine,
     int nCmdShow	)
{
int i = DialogBox(	hInstance,
     MAKEINTRESOURCE(IDD_DIALOG1),
     NULL,
     (DLGPROC)DialogProc );

if( i == -1 ) MessageBox(NULL,"Une erreur inattendue est survenue.","TITRE",MB_OK|MB_ICONSTOP);

return false;
}


Le fichier resource.rc

#include "resource.h"
IDD_DIALOG1 DIALOG DISCARDABLE  0, 0, 312, 106
STYLE DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | 
   WS_SYSMENU
FONT 8, "MS Sans Serif"
BEGIN
   PUSHBUTTON      "Quitter...",IDC_QUIT,165,80,60,15
   PUSHBUTTON      "Aide",IDC_HELP,235,80,60,15
END

Le fichier resource.h

#define IDD_DIALOG1                     101
#define IDC_QUIT                       1000
#define IDC_HELP                       1001

A la compilation, DevC++ m'affiche un message d'erreur :

Parse Error

L'erreur se produit à la ligne commençant par 'STYLE' dans le fichier rc

Meme erreur en modifiant les valeurs après STYLE

Comment corriger ?

où est-ce DevC++ qui ne comprend pas encore toutes les options dans les fichiers rc ?

Pour info : Ca fonctionne sans pb sur Visual C++

Merci

Lien vers le commentaire
Partager sur d’autres sites

J'ai essaye ta ressource sur le projet par defaut de type "Windows application" avec la version 4.9.8.0. Tout fonctionne bien a part le IDC_HELP qui provoque un warning car deja utilise dans "winuser.h" (je l'ai renomme en IDC_HELPME) :

------

Compilateur: Default compiler

Building Makefile: "D:\Dev-Cpp\projet perso\projet1\Makefile.win"

Exécution de make...

make.exe -f "D:\Dev-Cpp\projet perso\projet1\Makefile.win" all

windres.exe -i Projet1_private.rc -I rc -o Projet1_private.res -O coff

In file included from resource.rc:2,

from Projet1_private.rc:4:

resource.h:3:1: warning: "IDC_HELP" redefined

In file included from D:/Dev-Cpp/include/winresrc.h:8,

from D:/Dev-Cpp/include/windows.h:44,

from resource.rc:1,

from Projet1_private.rc:4:

D:/Dev-Cpp/include/winuser.h:589:1: warning: this is the location of the previous definition

g++.exe main.o Projet1_private.res -o "Projet1.exe" -L"D:/Dev-Cpp/lib" -mwindows

Exécution terminée

Compilation OK

-------

Lien vers le commentaire
Partager sur d’autres sites

T'as réussi à avoir une fenêtre qui s'affiche avec 2 boutons ?

J'ai reessayé,

mais j'ai toujours :

line 3 in file resource.rc : parse error

sinon en enlevant l'option "inclure lors de la compil"

ca fonctionne

mais pas de fenetre créée, j'ai la messagebox qui s'affiche

PS:

OK pour le IDC_HELP, j'avais oublié de le modifier....

Lien vers le commentaire
Partager sur d’autres sites

J'ai résolu le pb :

1) J'ai recréé un projet tout vide de type WinAppli

2) j'ai rajouté mon code

3) Petite modification à faire :

dans le fichier .rc

il faut ajouter la ligne suivante :

#include <windows.h>

4) Sauver, puis compil

5) La fenetre "dessinée" dans le rc s'affiche...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...