Aller au contenu

DevC++ et resource (pb résolu)


mogwai93

Messages recommandés

Posté(e)

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

Posté(e)
  Neo_13 a dit :
faut voir le paramétrage du compilo...

Tu peux être un peu plus précis...

J'ai regardé, mais j'ai rien trouvé en ce qui concerne les ressources.

J'ai essayé avec DevC++ 4.9.6.0 et DevC++ 4.9.8.0

Merci

Posté(e)

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

-------

Posté(e)

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....

Posté(e)

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...

Archivé

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

×
×
  • Créer...