begin process at 2010 02 10 07:50:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

Un fenêtre toujours à NULL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Un fenêtre toujours à NULL

dimanche 8 avril 2007 à 19:21:33 | Un fenêtre toujours à NULL

eXon

Membre Club
Bonjour, Je cré une fenêtre avec des donnés dont le debugeur me dit qui sont valide, mais la fonction CreateWindowEx me retourne toujours NULL, est-ce que quelqu'un pourrait m'expliquer pourquoi? Voici une partie du code: WNDCLASSEX myclass; myclass.cbSize = sizeof(WNDCLASSEX); myclass.style = CS_HREDRAW | CS_VREDRAW; myclass.lpfnWndProc = WndProc; myclass.cbClsExtra = 0; myclass.cbWndExtra = 0; myclass.hInstance = this->hInstance; myclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); myclass.hCursor = LoadCursor(NULL, IDC_ARROW); myclass.hbrBackground= reinterpret_cast(COLOR_WINDOW+1); myclass.lpszMenuName = NULL; myclass.lpszClassName= "class2"; myclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if ( !RegisterClassEx(&myclass) ) { MessageBox(NULL, "Impossible de créer la classe.", "Erreur", MB_OK | MB_ICONERROR); } this->hWnd = CreateWindowEx(this->exStyle, "class2", this->title, this->style, \ this->size.left, this->size.top, this->size.right - this->size.left, this->size.bottom - this->size.top, \ NULL, NULL, this->hInstance, 0); Merci beaucoup

----------------
eXon
dimanche 8 avril 2007 à 19:23:33 | Re : Un fenêtre toujours à NULL

eXon

Membre Club
Ouf, voici mon code édité avec un peu de HTML:

WNDCLASSEX myclass;
myclass.cbSize = sizeof(WNDCLASSEX);
myclass.style = CS_HREDRAW | CS_VREDRAW;
myclass.lpfnWndProc = WndProc;
myclass.cbClsExtra = 0;
myclass.cbWndExtra = 0;
myclass.hInstance = this->hInstance;
myclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
myclass.hCursor = LoadCursor(NULL, IDC_ARROW);
myclass.hbrBackground= reinterpret_cast(COLOR_WINDOW+1);
myclass.lpszMenuName = NULL;
myclass.lpszClassName= "class2";
myclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

if ( !RegisterClassEx(&myclass) )
{
MessageBox(NULL, "Impossible de créer la classe.", "Erreur", MB_OK | MB_ICONERROR);
}

this->hWnd = CreateWindowEx(this->exStyle, "class2", this->title, this->style, \
this->size.left, this->size.top, this->size.right - this->size.left, this->size.bottom - this->size.top, \
NULL, NULL, this->hInstance, 0);


----------------
eXon
dimanche 8 avril 2007 à 20:51:14 | Re : Un fenêtre toujours à NULL

BruNews

Administrateur CodeS-SourceS
myclass.style = ???

ciao...
BruNews, MVP VC++
dimanche 8 avril 2007 à 21:00:33 | Re : Un fenêtre toujours à NULL

eXon

Membre Club
myclass.style = CS_HREDRAW | CS_VREDRAW; C'est clair dans le code me semble. J'ai toujours fait mes fenêtres windows avec ca et ca a toujours marché.

----------------
eXon
dimanche 8 avril 2007 à 21:03:24 | Re : Un fenêtre toujours à NULL

BruNews

Administrateur CodeS-SourceS
OUPS, je ne l'avais pas vu.

this->hInstance, tu as vérifié que c'est bon ?

ciao...
BruNews, MVP VC++
dimanche 8 avril 2007 à 21:04:56 | Re : Un fenêtre toujours à NULL

eXon

Membre Club
Ouais et ce l'est bien. J'ai même recopié mon code dans un nouveau projet et il retourne toujours NULL.

----------------
eXon
dimanche 8 avril 2007 à 21:12:18 | Re : Un fenêtre toujours à NULL

eXon

Membre Club
Réponse acceptée !
Finalement j'ai trouvé le problème. Il était simplement dans mon callback qui retournait toujours 0 au lieu du DefWindowProc.

----------------
eXon
dimanche 8 avril 2007 à 21:14:10 | Re : Un fenêtre toujours à NULL

vecchio56

Administrateur CodeS-SourceS
Est-ce que this->style contient  WS_CHILD? Si oui il faut spécifier le paramètre hWndParent de CreateWindowEx

_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 9 avril 2007 à 01:40:31 | Re : Un fenêtre toujours à NULL

racpp

Administrateur CodeS-SourceS
Salut,
Pour que la fenêtre soit créée, la procédure WndProc() doit retourner 1 en réponse au message WM_NCCREATE. Tu peux faire dans ton code:
case WM_NCCREATE:
    return 1;
Cette solution est péférable si tu veux éviter l'appel à DefWindowProc().



Cette discussion est classée dans : fenêtre, toujours, size, hinstance, myclass


Répondre à ce message

Sujets en rapport avec ce message

opengl bug [ par darmoor ] Voila je vien de debuter dans l'openGL et selon le tutorial jai fait ce qu'il falai et sa me marque une erreur:le code:#include #includ Affichage avec API Windows [ par PunkDude424 ] Bon j'ai un problème avec l'affichage à l'aide de L'api win32Je suis débutant en la matière et j'ai le problème suivant.J'ai une application client se Fenêtre toujours visible ? [ par banane_rose ] tout est dans le titre ^^ merci pour les infosDorian / 14 ans / sous Dev-C++ I always need help ... . . . dev sans MFC [ par c2millet ] Voilà j'essaie de faire un prog sans MFC et je voudrais changer la couleur de text d'un bouton ainsi que ça couleur de fond.Si qqun peu m'aider mercim pb avec le plein écran de DirectX que je veux enlever [ par Diabolus ] Bonjour à tous !Je souhaiterai créer une fenêtre en mode normal et tout ce que j'arrive à faire c'est du plein écran. J'aimerai enlever le plein écran problème fermeture fenêtre child [Dev-cpp] [ par by_rabbit_08 ] Slut tout le monde!! J'ai posté une question sur le forum, que j'ai en partie réussi à résoudre... Mais il me reste un tout petit problème, le but éta Comment créer un Bouton [ par new0staff ] Bonjour!Le programme ci-dessous crée et affiche une fenêtre simple. Ce que je souhaite faire, c'est rajouter un Bouton à cette fenêtre.Ce qui ne joue Plantage graphique le retour (qui n'est jamais parti d'ailleurs) [ par Mastersam ] Je relance un nouveau sujet car mon problème n'est toujours pas réglé après 3 semaines, il ne doit pas être bien méchant pour les expérimentés mais po Programme détectant ouverture fenêtre [ par goutbouyo ] Salut,J'ai un programme que je met en tâche de fond et qui a pour but de détecter l'ouverture d'un fenêtre(précisée).J'ai réalisé ce code pour faire ç pb openGL [ par niko29940242 ] Voila je debute en openGL et j'ai un probleme; en fait je veux juste ouvrir une fenetre mais j'ai deux erreurs (notée apres le code );LE CODE :#inclu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 13,556 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales