begin process at 2012 05 30 19:58:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

[WIN32] Creer plusieurs fenetre sans utiliser le .rc


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

[WIN32] Creer plusieurs fenetre sans utiliser le .rc

jeudi 19 janvier 2006 à 11:15:22 | [WIN32] Creer plusieurs fenetre sans utiliser le .rc

kinjiro

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.
jeudi 19 janvier 2006 à 11:48:01 | Re : [WIN32] Creer plusieurs fenetre sans utiliser le .rc

BruNews

Administrateur CodeS-SourceS
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.

ciao...
[ Lien ]
BruNews, MVP VC++
jeudi 19 janvier 2006 à 12:19:50 | Re : [WIN32] Creer plusieurs fenetre sans utiliser le .rc

kinjiro

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:

     char szClassName[ ] = "previewer";
     MSG messages;
     WNDCLASSEX incl;

     incl.hInstance = NULL;
     incl.lpszClassName = szClassName;
     incl.lpfnWndProc = ChildProc;
     incl.style = CS_DBLCLKS;
     incl.cbSize = sizeof (WNDCLASSEX);

     if (!RegisterClassEx(&incl))
        MessageBox(NULL, "Probleme lors du RegisterClassEx", "Erreur", MB_OK);
        return;
    
     HWND test = CreateWindowEx(0, "test", "Preview", WS_POPUP | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 200, 200,
                                   hwnd, NULL, NULL, NULL);
                                  
     ShowWindow (hwnd, SW_SHOW);

     while (GetMessage (&messages, NULL, 0, 0))
     {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
     }

Si quelqu'un pouvait encore me donner un petit coup de main s'il vous plait.
jeudi 19 janvier 2006 à 12:40:19 | Re : [WIN32] Creer plusieurs fenetre sans utiliser le .rc

Joky

Membre Club
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 ;)

if(!Meilleur("Joky")) return ERREUR;<

jeudi 19 janvier 2006 à 12:42:30 | Re : [WIN32] Creer plusieurs fenetre sans utiliser le .rc

Joky

Membre Club
if (!RegisterClassEx(&incl))
        MessageBox(NULL, "Probleme lors du RegisterClassEx", "Erreur", MB_OK);
        return;

Si tu mets pas non plus tes accolages car plus d'une instruction, ça ne marchera pas non plus

C'est soit tu mets des acolages, soit t'en mets pas mais seulement quand il n'y a qu'une seule instruction à la suite

if(!Meilleur("Joky")) return ERREUR;<



Cette discussion est classée dans : fonction, creer, fenetre, utiliser, win32


Répondre à ce message

Sujets en rapport avec ce message

Creer une de deuxieme fenetre Win32 [ par guitoulefoux ] Bonjour,j'ai fais un tout petit prog qui affiche une fenetre1 (ronde), et j'aimerais apres une action sur un boutton (qui serait sur ma fenetre1) fair win32, est-il possible de modifier une fenetre apres creation [ par _Jonathan ] voila, je cherche a changer le look de ma fenetre apres creation. : je souhaiterais la rendre, par exemple sans bords.comment on fait pour modifier un win32 et fenetrage [ par djl ] je voudrais lancer une fentre win32 en pleine ecran mais sans changement de mode video (par exemple si la fenetre à un fond noir, l'ecran deviendra no variable globale ou non [ par fcbouan ] quel es la bonne approche , utiliser par exemple une variable globale de buffer gMonbuffer[TAILLE] et l utiliser dans une fonction ( ecriture dans un win32,fenetre fixe [ par _Jonathan ] je cherche comment rendre une fenetre fixe, c'est a dire que l'on ne puisse ni l'agrandir ou la retrecir, et que saz taille soit toujours constante Acces class a travers un timer [ par dambeaufort ] Bonjour, je viens de creer un timer sous MFCce timer devrais m'appeler une fonction d'une classe, le probleme c que ca me dit que m'a fonction n'est p mdi sous borland et fonction [ par zelastwarrior ] Bonjour a tous. Je sui en train de créer une application mdi sous c++builder 5.0 et je bloque a ce niveau. J'arrive à ouvrir une fenetre fille, mais j Exportations de fonction EXE --> DLL [ par rclsilver02 ] Voila. Je suis sur un projet qui pourra gérer des modules. Chaque module se trouver dans une DLL et pourra utiliser des fonction du programme principa Manipulation de fenetres en C [ par bibi1782 ] Salut,je suis a la recherche de fonction C de manipulation de fenetres.En particulier :- une fonction pour déplacer une fenetre du style : void depl Recuperation d'un handle de fenetre [ par coframi ] je lance une application avec la fonction CreateProcess.Il faut que je recupére le handle de fenetre associe pour pouvoir masquer ou afficher cette ap


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,515 sec (4)

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