Bonjour,
Je cherche à déplacer dynamiquement mon bouton. J'ai essayé avec SetWindowPos ( "fenetre parent", x, y, 0, 0, SWP_SHOWWINDOW) mais rien ne se passe mon bouton est toujours actif et fonctionne mais il n'a pas bouger.
Pourriez vous m'aider.
Version imprimable
Bonjour,
Je cherche à déplacer dynamiquement mon bouton. J'ai essayé avec SetWindowPos ( "fenetre parent", x, y, 0, 0, SWP_SHOWWINDOW) mais rien ne se passe mon bouton est toujours actif et fonctionne mais il n'a pas bouger.
Pourriez vous m'aider.
Voila la partie du constructeur :
et le OnInitDialogCode:
1
2
3
4 if(!PauseButton.LoadBitmaps(_T(IDB_PAUSE_NORMAL),_T(IDB_PAUSE_CLICK))){ AfxThrowResourceException(); }
J'ai trouvé une solution en faisant un MoveWindow à la place du SetWindowPos, mais je veux bien savoir pourquoi ca ne marchait pas.Code:
1
2
3
4
5 VERIFY(PauseButton.SubclassDlgItem(IDC_PAUSE,this)); PauseButton.SizeToContent(); PauseButton.SetWindowPos(this, 8, 32, 20, 20, SWP_SHOWWINDOW);
salut, voir faq:
Comment déplacer un contrôle dans une fenêtre ?
:D
Pourquoi fais-tu du "subclassing" avec le bouton ?Citation:
Envoyé par Xhéras
Pq appeler SubclassDlgItem ?
S'il ne bouge pas c'est normal , la file de message étant déroutée avec SubclassDlgItem ne reçoit plus WM_MOVE
Citation:
CWnd::SubclassDlgItem
BOOL SubclassDlgItem( UINT nID, CWnd* pParent );
Remarks
Call this member function to “dynamically subclass” a control created from a dialog template and attach it to this CWnd object. When a control is dynamically subclassed, windows messages will route through the CWnd’s message map and call message handlers in the CWnd’s class first. Messages that are passed to the base class will be passed to the default message handler in the control.
This member function attaches the Windows control to a CWnd object and replaces the control’s WndProc and AfxWndProc functions. The function stores the old WndProc in the location returned by the GetSuperWndProcAddr member function.
Cela ne fonctionnera pas il fait un "subclassing" de son bouton ..Citation:
Envoyé par farscape
et alors ?Citation:
Envoyé par mat.M
tous les controles sont subclassés...
:D
mon bouton se déplace désormais, en utilisant la fonction MoveWindow, mais pas avec SetWindowPos.
bah vu ce qui est marqué dans la faq c'est normal :)