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] Creer une frame de position fixe [FAQ]


Sujet :

MFC

  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut [MFC] Creer une frame de position fixe
    bonjour, j'aimerais créer une frame indeplacable par l'utilisateur ( sans modifier la fct OnMove() )

    Merci pour toute aide.

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    il faut intercepter le message WM_WINDOWPOSCHANGING sur la child.
    exemple:
    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
     
    void CChildFrame::OnWindowPosChanging(WINDOWPOS* lpwndpos)
    {
    	if(!m_rect.IsRectEmpty())	// empeche de bouger...
    	{
    		lpwndpos->x=m_rect.left;
    		lpwndpos->y=m_rect.top;	
    		CRect rectBarPos;
    		static_cast<CMainFrame *>(AfxGetMainWnd())->m_wndToolBar.GetWindowRect(&rectBarPos);
    		lpwndpos->y-=rectBarPos.Height();
     
    	}
    	CMDIChildWnd::OnWindowPosChanging(lpwndpos);
     
    	// TODO: Add your message handler code here
    }
    //------------------------------------------------------------
    void CChildFrame::OnSize(UINT nType, int cx, int cy)
    {
    	CMDIChildWnd::OnSize(nType, cx, cy);
    	if(m_rect.IsRectEmpty()) // position initiale
    	{
    		GetWindowRect(&m_rect);
    		AfxGetMainWnd()->ScreenToClient(&m_rect);
    	}
    	// TODO: Add your message handler code here
    }
    essai realisé avec Visual 2005.
    il se peut que le message ne soit pas implementé avec VC 6.
    il faudra le rajouter manuellement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/11/2007, 16h53
  2. [MFC]creer une zone de selection
    Par jiraya43 dans le forum MFC
    Réponses: 3
    Dernier message: 04/05/2006, 14h31
  3. [MFC]creer une classe derivé de CWinThread
    Par psyjess dans le forum MFC
    Réponses: 2
    Dernier message: 18/03/2005, 14h23
  4. Centrer une <div> en position fixe sous IE
    Par Jorus dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 23/09/2004, 15h29
  5. [MFC] creer une liste avec des check????
    Par ginounet dans le forum MFC
    Réponses: 4
    Dernier message: 16/06/2004, 11h47

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