bonjour, j'aimerais créer une frame indeplacable par l'utilisateur ( sans modifier la fct OnMove() )
Merci pour toute aide.
bonjour, j'aimerais créer une frame indeplacable par l'utilisateur ( sans modifier la fct OnMove() )
Merci pour toute aide.
salut,
il faut intercepter le message WM_WINDOWPOSCHANGING sur la child.
exemple:
essai realisé avec Visual 2005.
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 }
il se peut que le message ne soit pas implementé avec VC 6.
il faudra le rajouter manuellement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager