API Windows - Template dialog

Signaler
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006
-
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
-
bonjour,
voilà j'ai fait une template d'une dialog avec un logiciel (ce n'est qu'un test)

#define ABOUTBOX 1000
#define IDOK 1001
#define IDCANCEL 1002
ABOUTBOX DIALOGEX 6,6,109,33
CAPTION "IDD_DLG"
FONT 8,"MS Sans Serif"
STYLE 0x10C70080
EXSTYLE 0x00000001
BEGIN
CONTROL "OK",IDOK,"Button",0x50010000,4,3,60,17,0x00000000
CONTROL "Cancel",IDCANCEL,"Button",0x50010000,42,11,64,19,0x00000000
END

comment je peux l'utiliser pour afficher cette dalog ?

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++

24 réponses

Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
CreateDialog

DialogBoxParam



Y'en a plein :o
if(!Meilleur("Joky")) return ERREUR;<
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
15
Et en plus d'y avoir plein de fonctions qui permettent de le faire, il y a moult exemples sur le site.

Quasiment tous les codes avec API Windows utilise des boites de
dialogue (sur ce site pour afficher des fenetres), regardes-en un ou
deux, tu verras comment faire.

Il n'y a pas plus simple.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,

Ce que tu as écrit doit figurer dans un ficher script de ressources. Il
a pour extension .rc. Il doit être inclus dans le projet pour pouvoir
l'utiliser.

Tu peux aussi créer un template de dialogue directement en mémoire comme dans mon code source:

http://www.cppfrance.com/codes/APPLICATION-BASEE-BOITE-DIALOGUE-SANS-RESSOURCES_26264.aspx
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

merci pour vos réponses j'en ferai bon usage ^^

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

dites vous pouvre m'aider je trouve pas de source sur ce site qui n'utilise qu'une dialog seul...

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG), hParent, (DLGPROC)DialogProc);



où hInstance est l'instance de ton prog, IDD_DIALOG est l'ID de ta
dialogue, hParent est la fenêtre parent et DialogProc est de la forme
LRESULT CALLBACK DialogProc(HWND, UINT, WPARAM, LPARAM);

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

racpp, j'avais pas vu ton code ^^" désolé pour le double (triple) post
je regarde ça

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

bon alors j'ai essayé de me concocter un petit quelque chose , sachant que dans le programme je ne veux pas de fenêtre principale mais que la dialog qui s'affiche.
code cpp
code rc
bon alors quand je compile il me dit :
expected constructor, destructor, or type conversion before '(' token
expected `,' or `;' before '(' token

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
15
Faut que tu mettes DialogBox(hInstance,MAKEINTRESOURCE(IDD_DLG1),NULL,(DLGPROC)DialogProc); dans un winmain. Risque pas de marcher autrement. --> Ca devrait corriger les deux erreurs.

Surement des problemes de définitions d'identifiant aussi. Je n'ai pas vu d'include de fichier h correspondant à la ressource.
Ces problemes seront notifiés une fois que tu auras corrigé la premiere erreur, donc pas de panique si tu as un nombre enorme d'erreur ensuite.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

winmain?? expliquez moi je connais pas en détails tout ça moi...

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
15
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
return DialogBox(hInstance,MAKEINTRESOURCE(IDD_DLG1),NULL,(DLGPROC)DialogProc);
}

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

bon maintenant je retombe devant la putain d'erreur que je comprend pas puisque y'a absolument aucune raison qu'il y ai une erreur de synthaxe avec mon template puisque j'ai généré ce code à partir d'un logiciel exprès pour ça !!

IDD_DLG1 DIALOGEX 6,6,161,20
CAPTION "Dialog Test"
FONT 8,"MS Sans Serif"
STYLE 0x10CF0000
EXSTYLE 0x00000000
BEGIN
CONTROL "OK",IDC_BTN1,"Button",0x50010000,4,3,70,13,0x00000000 // << synthax error !
CONTROL "Annuler",IDC_BTN2,"Button",0x50010000,86,3,66,13,0x00000000
END

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
15
A quoi correspond ce 0x000000 à la fin de la ligne.

En regardant dans mes fichiers de ressource (fait avec l'editeur de
resource de VC6), je n'ai jamais ce dernier parametre, le reste semble
bon.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

ouais c'est bizarre et si je retire le dernier argument ça marche toujours pas
sinon j'ai généré le code d'une dialog vide
(c a d :
IDD_DLG1 DIALOGEX 6,6,194,104
CAPTION "IDD_DLG"
FONT 8,"MS Sans Serif"
STYLE 0x10CF0000
EXSTYLE 0x00000000
BEGIN
END

)
et là ça compile mais le programme se ferme dès que je le lance

dites vous pouvez pas faire un programme avec un dialog et mettre le code ici ça m'aiderai
merci

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

ouais c'est bizarre et si je retire le dernier argument ça marche toujours pas
sinon j'ai généré le code d'une dialog vide
(c a d :
IDD_DLG1 DIALOGEX 6,6,194,104
CAPTION "IDD_DLG"
FONT 8,"MS Sans Serif"
STYLE 0x10CF0000
EXSTYLE 0x00000000
BEGIN
END

)
et là ça compile mais le programme se ferme dès que je le lance

dites vous pouvez pas faire un programme avec un dialog et mettre le code ici ça m'aiderai
merci

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

mince désolé double post ma connection ramais

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

allez s'il vous plait pourquoi vous m'aidez plus?

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
15
Pose ton code quelque part, qu'on puisse regarder.
Tu sais, on n'est pas forcément dispo tout le temps non plus.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
302
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
22 avril 2006

j'ai dit :
dites vous pouvez pas faire un programme avec un dialog et mettre le code ici ça m'aiderai
merci

<hr size="2" width="100%">Dorian / 14 ans / sous Dev-C++
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
15
main.c:

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


LRESULT CALLBACK MainProc(HWND Dlg, UINT message, WPARAM wParam, LPARAM lParam)
{


switch(message)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDCANCEL:
case IDOK:
EndDialog(Dlg, 1);
return 1;


default:
return 0;
}
default:
return 0;
}
}



int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
DialogBox(hInstance, (LPCTSTR) IDD_DIALOG1, NULL, (DLGPROC) MainProc);
return 0;
}

//resource.h:
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by res.rc
//
#define IDD_DIALOG1 101


// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

//res.rc:
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"


#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"


/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS


/////////////////////////////////////////////////////////////////////////////
// French (France) resources


#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
#ifdef _WIN32
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
#pragma code_page(1252)
#endif //_WIN32


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//


1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END


2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END


3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END


#endif // APSTUDIO_INVOKED



/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//


IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 90
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,129,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,129,24,50,14
END



/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//


#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_DIALOG1, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 179
TOPMARGIN, 7
BOTTOMMARGIN, 83
END
END
#endif // APSTUDIO_INVOKED


#endif // French (France) resources
/////////////////////////////////////////////////////////////////////////////


#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//



/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED



Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]