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] redimensionner un controle


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut [MFC] redimensionner un controle
    C'est encore moi,

    j'ai un ClistCtrl dans une dialog. Je voudrais que lorsque je redimensionne ma dialog, le ClistCtrl suive.

    J'intercepte le message de redimensionnement avec la fonction OnSizing(UINT fwSide, LPRECT pRect) qui me donne la nouvelle taille de la fenetre. Le probleme, c'est que je ne trouve pas la fonction pour redimensionner mon CListCtrl

    Merci

  2. #2
    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,
    voir ce post dans le post it faq:
    http://www.developpez.net/forums/vie...695999#1695999

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Ok c'était la fonction SetWindowPos() que je cherchais. Promis j'evite de poser des questions betes la prochaine fois...

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    En fait j'ai encore un petit problème. Je cherche toujours à redimensionner mon controle dans ma dialog (je sais je n'ai pas fait tout à fait comme tu m'avais dit farscape, mais ca me parait compliqué...).

    Création de la boite de dialogue en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Création de la fenêtre RIW
    	riWnd = new CRenderedImagesDlg(this);
    	riWnd->Create(IDD_RENDEREDIMAGES,this);
    	riWnd->ShowWindow(SW_SHOW);
    Le redimensionnement de la fenetre avec la souris ne pose aucun probleme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void CRenderedImagesDlg::OnSizing(UINT fwSide, LPRECT pRect) 
    {
    	CDialog::OnSizing(fwSide, pRect);
     
    	// Permet le redimensionnement du CListCtrl lors du redimensionnement "à la main" de la fenêtre
    	CRect wndRect = (CRect) pRect;
    	m_renderedImageList.SetWindowPos(&CWnd::wndTop ,2, GetSystemMetrics(SM_CYCAPTION) + 4,wndRect.Width() - 11,wndRect.Height() - 52,NULL);		
    }

    Ce qui me pose problème, c'est que lors de la création de la fenêtre, le message WM_SIZE est lancé et donc la fonction OnSize est appelée avec la valeur SIZE_RESTORED pour nType, et ca plante au "case SIZE_RESTORED:" mais je ne sais pas pourquoi...
    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
    void CRenderedImagesDlg::OnSize(UINT nType, int cx, int cy) 
    {
    	CDialog::OnSize(nType, cx, cy);
     
    	// Permet le redimensionnement du CListCtrl lors de l'appui sur le bouton maximize de la dialog
    	switch (nType)
    	{
    	case SIZE_MAXIMIZED:
    		m_renderedImageList.SetWindowPos(&CWnd::wndTop ,2, GetSystemMetrics(SM_CYCAPTION) + 4,cx-3,cy-25,NULL);		
    		break;
    	case SIZE_RESTORED:
    		m_renderedImageList.SetWindowPos(&CWnd::wndTop ,2, GetSystemMetrics(SM_CYCAPTION) + 4,cx-3,cy-25,NULL);		
    		break;
    	default:
    		break;
    	}
    }
    Help meeeeeeeeee, j'y comprends rien!!!

  5. #5
    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
    tu as jeté un oeil a l'exemple (.zip) fournit avec ?
    le template parait barbare mais faut pas s'affoler...


  6. #6
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Nan...

    Je reprends tout ca demain matin à tete reposée...
    Merci de ton aide

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/08/2005, 13h02
  2. [MFC] Redimensionnement de dialog
    Par benahpets dans le forum MFC
    Réponses: 1
    Dernier message: 07/07/2005, 14h11
  3. [MFC] Redimensionnement de ToolBar
    Par windsurfeur44 dans le forum MFC
    Réponses: 7
    Dernier message: 15/09/2004, 19h43
  4. (MFC) Redimensionner une List Control auto / Boite Dlg
    Par Guybrush113 dans le forum MFC
    Réponses: 7
    Dernier message: 23/04/2004, 09h24
  5. [MFC]gestion du controle MaskedEdit
    Par dj_kyl dans le forum MFC
    Réponses: 2
    Dernier message: 27/11/2003, 19h58

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