bonjour, j'aimerais créer une frame indeplacable par l'utilisateur ( sans modifier la fct OnMove() )
Merci pour toute aide.
Version imprimable
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:
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.
:D