Bonjour,
j'ai un appli MFC en CDialog Based.
Je demarre ma CDialog en maximisé avec
dans OnInitDialogCode:ShowWindow(SW_SHOWMAXIMIZED);
le probleme, c'est qu'en faisant ca, l'appli est deplacable à la souris, comment l'empecher ?
merci.
Version imprimable
Bonjour,
j'ai un appli MFC en CDialog Based.
Je demarre ma CDialog en maximisé avec
dans OnInitDialogCode:ShowWindow(SW_SHOWMAXIMIZED);
le probleme, c'est qu'en faisant ca, l'appli est deplacable à la souris, comment l'empecher ?
merci.
salut,
tu peux décocher la propriété "title bar" de ta dialog
EDIT : extension http://c.developpez.com/faq/vc/?page...s#splashscreen
j'aurai aimer la garder pour le bouton quitter
dans le lien vers la FAQ que j'ai donné :
il faut que tu interceptes le message WM_WINDOWPOSCHANGING pour empêcher le déplacementCitation:
Pour une boîte de dialogue, on procèdera de la même façon en laissant éventuellement la barre de titre.
ca donne rien ce message :(
dans le doute je viens de tester, ça marche très bien :lol:Citation:
Envoyé par firejocker
ma boîte de dialogue n'est plus déplaçable.
???
moi j'ai mis :
Code:
1
2
3
4
5
6
7
8 BOOL CMyDialog::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_WINDOWPOSCHANGING){ return TRUE; } return CDialog::PreTranslateMessage(pMsg); }
:? toute la démarche est donnée dans la FAQ
.H
.CPPCode:
1
2
3
4
5 // Generated message map functions //{{AFX_MSG(CPasBougerDlg) ... afx_msg void OnWindowPosChanging( WINDOWPOS* lpwndpos ); //}}AFX_MSG
:D on ne passe pas par PretranslateMessageCode:
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; }
j'avais pas trouvé dans la faq
merci bien