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 :

Suppression d'une vue dans un CSplitterWnd [FAQ]


Sujet :

MFC

Vue hybride

elecstr Suppression d'une vue dans un... 08/06/2007, 22h24
totem Le mieux c'est que tu essaies... 09/06/2007, 13h35
farscape salut, utilise pluôt... 10/06/2007, 11h07
elecstr Merci beaucoup pour ta... 10/06/2007, 21h59
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut Suppression d'une vue dans un CSplitterWnd
    Développeurs, Développeuses,
    J'ai un petit souci avec mon appli.
    Dans une SDI, je crée plusieurs splitteurs et plusieurs vues avec le code suivant
    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
    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    {
    	// création du splitter de base
    	if (!m_wndSplitter.CreateStatic(
    		this,
    		2,				// ligne
    		1))				// colonne
    		return FALSE;
    	// création de la vue
    	if (!m_wndSplitter.CreateView(0, 0,
    		RUNTIME_CLASS(CFormRXD), CSize(0, 300), pContext))
    		{
    			TRACE0("Pb a la creation du 1er splitter \n");
    			return FALSE;
    		}
     
    	// création du 2eme splitter
    	if (!m_wndSplitter2.CreateStatic(
    		&m_wndSplitter,						// la fenetre parent est le 1er splitter
    		1, 3,								// 1 ligne, 3 colonnes
    		WS_CHILD|WS_VISIBLE|WS_BORDER,		// WS_BORDER est necessaire
    		m_wndSplitter.IdFromRowCol(1, 0) ))	// Splitter 2 dans 2eme ligne
    		{
    			TRACE0("Pb a la creation du splitter 2\n");
    			return FALSE;
    		}
     
    	// création des vues du splitter 2
    	if (!m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CFormTXD), CSize(250, 0), pContext) ||
    		!m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CFormTrafic), CSize(250,0), pContext) ||
    		!m_wndSplitter2.CreateView(0, 2, RUNTIME_CLASS(CEsComProView), CSize(0,0), pContext))
    	{
    		m_wndSplitter2.DestroyWindow();
    		return FALSE;
    	}
    return TRUE;
    Je voudrais supprimer la vue et le splitteur 0,1 du m_wndSplitter2.
    J'ai donc écrit la fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void CMainFrame::OnTstSplit() 
    {
    	m_wndSplitter2.DeleteView(0,1);
    	m_wndSplitter2.DeleteColumn(1);
    	m_wndSplitter2.RecalcLayout();
    }
    Cette fonction génère une erreur "Debug Assertion failed" à l'exécution.
    Si vous avez une idée, je vous en remercie d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 72
    Par défaut
    Le mieux c'est que tu essaies en mode debug d'abord (F5), ça donne des pistes sur ce qui ne va pas

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    utilise pluôt DeleteView.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut
    Merci beaucoup pour ta réponse rapide Farscape !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/09/2005, 23h38
  2. appeller une Vue dans un Select
    Par DR. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/12/2004, 16h59
  3. Réponses: 7
    Dernier message: 12/07/2004, 22h30
  4. Oracle Designer: récupération d'une vue dans la base
    Par BILLYPATOU dans le forum Designer
    Réponses: 2
    Dernier message: 19/03/2004, 11h08
  5. [DEBUTANT] Une vue dans une procedure stockee ?
    Par Invité dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/02/2004, 11h57

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