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 :

[MFC] Splitter une vue en N vue


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 28
    Par défaut [MFC] Splitter une vue en N vue
    Bonjour @ tous !

    J'ai pas mal cherché, et j'ai pas encore trouvé de solution, alors je fais appelle à vos connaissances.

    L'appli que je souhaite developper doit faire apparaitre une fenetre avec n fois la meme FormView.

    J'ai pensé au Splitter, mais je n'arrive pas à faire un nombre dynamique de splitter. Chaque exemple que je trouve est avec un nombre defini de splitter.

    Avez-vous une solution pour les splitter ?
    Ou encore, avez-vous une autre solution que les splitter ?

  2. #2
    Membre expérimenté

    Inscrit en
    Mai 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 132
    Par défaut
    Salut,

    Il n'y a presque rien plus facile que ca :- )) ( heh ... d’abord il faut dire que ma langue française n’est pas bonne. D’accord).

    Je suppose que tu as MFC app avec Cdoc/Cview architecture. Au code de ton CchildFrame tu déclares un membre m_wndSplitter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class CMyChildFrame : public CMDIChildWnd
    {
    . . .
     
    // Attributes
    private:
    	CSplitterWnd m_wndSplitter;	///ICI
    . . .

    En suite tu génères une nouvelle fonction virtuelle OnCreateClient pour ton CchildFrame

    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
     
    BOOL CMyChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    {
    	// TODO: Add your specialized code here and/or call the base class
     
    	if (!m_wndSplitter.CreateStatic(this, 2, 3))return FALSE;
     
    	if (	!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CDeveloppezView), CSize(100, 100), pContext) ||
    				!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CDeveloppezView), CSize(100, 100), pContext) ||
    				!m_wndSplitter.CreateView(0, 2, RUNTIME_CLASS(CDeveloppezView), CSize(100, 100), pContext) ||
    				!m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CDeveloppezView), CSize(100, 100), pContext) ||
    				!m_wndSplitter.CreateView(1, 1, RUNTIME_CLASS(CDeveloppezView), CSize(100, 100), pContext) ||
    				!m_wndSplitter.CreateView(1, 2, RUNTIME_CLASS(CDeveloppezView), CSize(100, 100), pContext)
    			)
    	{
    		m_wndSplitter.DestroyWindow();
    		return FALSE;
    	}
    		return TRUE;
     
    //	return CMDIChildWnd::OnCreateClient(lpcs, pContext);
    }
    Le view CDeveloppezView est mon view dérivée de CFormview. Ici tu les changes à tes views.

    Et maintenant . . . il ne faut pas faire plus que compilation.
    Apres lancement tu dois voir à ta fenêtre 6 petites fenêtres.

    Ca y est. Bonne chance!


    Fredy

    Je l’ai fait selon
    http://c.developpez.com/faq/vc/?page...Work#SlpitView


Discussions similaires

  1. Réponses: 0
    Dernier message: 12/10/2007, 05h42
  2. Redirection d'une action vers 2 vues jsp d'un frame
    Par seb0634 dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/11/2006, 22h21
  3. [MFC] Créer une multitude d'infos bulles sur une vue
    Par Philippe320 dans le forum MFC
    Réponses: 2
    Dernier message: 03/02/2006, 10h57
  4. Réponses: 4
    Dernier message: 31/10/2005, 16h32
  5. Réponses: 9
    Dernier message: 12/09/2005, 13h24

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