Bonjour,
J'ai créé ma boite de dialogue avec Visual Studio 2008, j'ai bien mon "ressource.h" et mon "dialog.rc"
sauf que quand je veux créer une instance de la boite de dialogue, j'ai un pointeur NULL.
GetLastError() me renvoie pourtant 0 => il n'y a donc pas d'erreur normalement
// dans ressource.h:
#define IDD_DIALOG1 101
//dans main.cpp, premières lignes du WinMain()
HWND hDlg;
hDlg=CreateDialog(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc);
// hDlg=CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG1) ,NULL,(DLGPROC)MainProc);
int err = GetLastError();
if (!hDlg)
{
MessageBox(hDlg, L"Cannot create window", L"Error", MB_ICONERROR | MB_OK);
return 0;
}
tu dis que hDlg est a NULL en sortant ?
Et tu as err qui vaut 0 ? ça c'est fort étrange...
Dans ton exemple, tu as donc la messagebox qui s'affiche. par contre, tu n'affiche pas "err", tu passes en débuggage pour le voir ?
ou alors de quelle maniere l'affiches tu ?
oui, j'ai la messagebox qui s'affiche et j'utilise le debugger pour boir que GetLastError() renvoie 0
jai rajouter l'initialisation des Common Controls avant l'appel à CreateDialog() tel que suit:
et j'ai la messagebox qui apparait pour me signaler qu'InitCommonControlsEx() a planté
[Win32 API]CreateDialog
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html