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 - CDialog : Empecher le deplacement d'une fenetre


Sujet :

MFC

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut MFC - CDialog : Empecher le deplacement d'une fenetre
    Bonjour,

    j'ai un appli MFC en CDialog Based.

    Je demarre ma CDialog en maximisé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowWindow(SW_SHOWMAXIMIZED);
    dans OnInitDialog

    le probleme, c'est qu'en faisant ca, l'appli est deplacable à la souris, comment l'empecher ?

    merci.

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    salut,

    tu peux décocher la propriété "title bar" de ta dialog

    EDIT : extension http://c.developpez.com/faq/vc/?page...s#splashscreen

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    j'aurai aimer la garder pour le bouton quitter

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    dans le lien vers la FAQ que j'ai donné :

    Pour une boîte de dialogue, on procèdera de la même façon en laissant éventuellement la barre de titre.
    il faut que tu interceptes le message WM_WINDOWPOSCHANGING pour empêcher le déplacement

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    ca donne rien ce message

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par firejocker
    ca donne rien ce message
    dans le doute je viens de tester, ça marche très bien
    ma boîte de dialogue n'est plus déplaçable.

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    ???

    moi j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
    {
    	if (pMsg->message == WM_WINDOWPOSCHANGING){
    		return TRUE;  
    	}
    	return CDialog::PreTranslateMessage(pMsg);
    }

  8. #8
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    toute la démarche est donnée dans la FAQ

    .H
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Generated message map functions
    //{{AFX_MSG(CPasBougerDlg)
    ...
    afx_msg void OnWindowPosChanging( WINDOWPOS* lpwndpos );
    //}}AFX_MSG
    .CPP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    BEGIN_MESSAGE_MAP(CPasBougerDlg, CDialog)
    //{{AFX_MSG_MAP(CPasBougerDlg)
    ...
    ON_WM_WINDOWPOSCHANGING()
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
     
    ...
    void CPasBougerDlg::OnWindowPosChanging(WINDOWPOS* pWndPos)
    {
    if (IsWindowVisible())
    pWndPos->flags |= SWP_NOMOVE;
    }
    on ne passe pas par PretranslateMessage

  9. #9
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    j'avais pas trouvé dans la faq

    merci bien

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

Discussions similaires

  1. Empecher le deplacement d'une Jframe
    Par swiixz dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 25/05/2007, 17h20
  2. Empecher le resize d'une fenetre windows
    Par menzlitsh dans le forum Struts 1
    Réponses: 1
    Dernier message: 12/10/2006, 15h18
  3. Réponses: 3
    Dernier message: 27/04/2006, 15h29
  4. Réponses: 13
    Dernier message: 09/03/2006, 19h17
  5. Réponses: 2
    Dernier message: 24/03/2004, 11h22

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