Réponse acceptée !
Toutes les classes MFC encapsulent un HWND, ou est le problème ?
CButton* pbtn = new CButton;
pbtn->Create(T("label"), WS_CHILD | WS_VISIBLE |
BS_PUSHBUTTON,
CRect(10,10,100,30), pParentWnd, UN_ID);
recup le hwnd : pbtn->GetSafeHwnd();
Pareil pour dialog (DLGTEMPLATE).