[WIN32] Creer plusieurs fenetre sans utiliser le .rc
kinjiro
Messages postés7Date d'inscriptionvendredi 28 février 2003StatutMembreDernière intervention17 avril 2006
-
19 janv. 2006 à 11:15
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 2009
-
19 janv. 2006 à 12:42
Bonjour tout le monde.
Je cherche a ouvrir une autre fenetre (en utilisant l'api win32).
J'ai en faite un boutton qui renvoi sur une fonction test()
Dans cette fonction j'aimerai ouvrir une fenetre.
J'ai regardé sur google et ici meme mais je n'ai pas trouvé mon bonheur.
Dans ma fonction test je fait
HWND fenetre = CreateWindowEx(....);
ShowWindow(fenetre, SW_SHOW);
Mais cela ne marche pas.
Si quelqu'un pouvait m'aider, merci d'avance.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 janv. 2006 à 11:48
Faut enregistrer tes classes de fenêtre avec RegisterClassEx avant de vouloir créer la fenêtre.
Tu peux aussi utiliser une dialog sans rc par DialogBoxIndirect[Param], il y a exemples en sources sur cppfrance.
kinjiro
Messages postés7Date d'inscriptionvendredi 28 février 2003StatutMembreDernière intervention17 avril 2006 19 janv. 2006 à 12:19
merci de ta réponse.
Mais le probleme c'est que j'ai beau retourner dans tout les sens l'initialisation d'un class avec RegisterClassEx ca ne marche jamais.
Voila ce que j'ai mi comme code:
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 19 janv. 2006 à 12:40
Ah ça quand on comprend pas ce qu'on fait, c'est sur qu'on y arrivera jamais
L'instance dans la structure WNDCLASS, c'est pas pour rien qu'on l'a mise !
Donc il faut l'initialiser.
Ensuite il faut renseigner TOUS les champs de WNDCLASS sinon l'enregistrement ne se fera pas !
Donc soit tu renseignes tous, soit tu fais au début :
ZeroMemory(&incl, sizeof(WNDCLASS));
Et ensuite CreateWindowEx le 2ème paramètre et la class de fenêtre et non le titre !
Donc tu dois passer la chaine associée à ta classe, autrement dit
preview et pour passer 0 comme premier param, autant utiliser la
fonction CreateWindow qui revient au même ;)