IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Cr�ation d'une deuxi�me fen�tre windows


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 4
    Par d�faut [R�solu] Cr�ation d'une deuxi�me fen�tre windows
    Bonjour,

    J'ai cherch� sur internet mais je n'ai pas trouv� plus d'information pour la cr�ation d'une deuxi�me fen�tre windows.

    Ce que je voudrais: A partir de ma fen�tre windows principale, je voudrai ouvrir une nouvelle f�netre vierge ind�pendante de la premi�re (cette nouvelle fenetre r�cuperait juste des variables en globales li� � la premi�re ), ou je pourrai effectuer des traitements differents.

    Probl�me : Actuellemnt le programme me g�n�re la m�me fen�tre, et mes deux fen�tre sont dependantes l'une de l'autre. Pourrais-je avoir plus d'information, sur comment je dois faire pour cr�er une nouvelle fenetre windows independante. Je comprends pas comment generer une nouvelle fen�tre windows.

    J'ai mis quelques morceau de code, pour facilit� la compr�hension, enfin j'�sp�re.

    Si quelqu'un pouvait m'eclairer sur ma question, je lui en serait reconnaisant.

    Merci

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    // Variables globales :
    HINSTANCE hInst;	// instance actuelle
     
    //Main windows principale
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    .
    .
    .
     	case ID_G_SOLUTION_PAS:
            HWND   sol;	
            sol = CreateWindow(szWindowClass, "SOLUTION", WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,hWnd, NULL,hInst, NULL);
     
            ShowWindow (sol,SW_SHOW) ;		// affiche la fenêtre à l'écran
            UpdateWindow (sol) ;
    .
    .
    .
    }
     
     
    //Deuxieme Fenetre windows pour afficher la solution
    LRESULT CALLBACK Soluce (HWND sol, UINT message, WPARAM wParam, LPARAM lParam)
    { 
        /////POUR LE DESSIN
    	PAINTSTRUCT ps;// attributs relatif a l'affichage de la fenetre
    	HDC hdc;// contexte de peripherique
     
        switch (message)
         {
     
           case WM_DESTROY:	// message de fermeture du programme
              PostQuitMessage (0) ;
              return 0 ;
     
           case WM_KEYDOWN:		// tape d'une touche détecter
    		 switch(wParam)
    		 {
    			case WM_KEYDOWN:
                    //test	
    				MessageBox (NULL,"Flèche gauche","Information", MB_ICONINFORMATION) ;
    				break;
    			case WM_PAINT:	
                hdc = BeginPaint(sol, &ps);
                SetBkMode(hdc, TRANSPARENT);  
    	        EndPaint(sol, &ps);
    				break;
    			default:
    				break;
    		 }
    		 break;
         }
         return DefWindowProc (sol, message, wParam, lParam) ;
    }

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    il faut que tu cr�es et enregistre une nouvelle classe, avec RegisterClass

  3. #3
    Membre �m�rite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par d�faut
    Salut,

    Dans un context MFC, il est facile de lancer une nouvelle fen�tre de niveau sup�rieur.
    Tu g�n�res un projet MFC application avec VC++ .NET du genre MTI (Multiple Top-level Documents Interface) 8)

    Dans le menu "File > New Frame ", tu lances � chaque fois des fen�tres de niveau sup�rieur et ind�pendantes.

  4. #4
    Membre �m�rite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par d�faut
    Tu peux examiner le code des fonctions de CWinApp tel que
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    afx_msg void OnFileNewFrame();
    afx_msg void OnFileNew();
    afin de t'inspirer pour un code pur Win32

  5. #5
    Membre � l'essai
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 4
    Par d�faut
    Merci � vous deux pour vos r�ponses j'ai put solutionner mon probl�me grace � vous.

    Oui je savais pas que je devais crer et enregistrer une nouvelle classe, avec RegisterClass, en changeant bien sur : wcl.lpfnWndProc = WndProc;

    Je comprenais pas mon erreure, merci � vous

    Bonne soir�e

  6. #6
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    r�solu, c'est le bouton r�solu en bas � gauche
    je le fais pour toi cette fois-ci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Cr�ation d'une deuxi�me fen�tre
    Par khaled87 dans le forum Qt
    R�ponses: 2
    Dernier message: 12/12/2013, 11h31
  2. coment afficher un champ dans une deuxi�me fen�tre.
    Par loic20h28 dans le forum WinDev
    R�ponses: 2
    Dernier message: 03/03/2008, 14h36
  3. cr�ation d'une nouvelle fen�tre
    Par Dohmaker dans le forum ASP.NET
    R�ponses: 3
    Dernier message: 17/10/2007, 21h05
  4. Cr�ation d'une nouvelle fen�tre
    Par Jiyuu dans le forum G�n�ral Python
    R�ponses: 6
    Dernier message: 29/06/2007, 15h50
  5. [Lazarus][D�butant] Afficher une deuxi�me fen�tre
    Par 'ti programmeur dans le forum Lazarus
    R�ponses: 6
    Dernier message: 12/02/2007, 22h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo