ho trovato questo ma funziona solo runtime:
CWnd* pWndCtl = GetNextDlgGroupItem( (CWnd*) NULL );
// GetNextDlgGroupItem wraps around, so we must watch
// for when the first control comes up again.
CWnd* pFirstCtl = pWndCtl;
do {
HWND hwnd = pWndCtl->GetSafeHwnd();
POSITION pos;

pWndCtl = GetNextDlgGroupItem( pWndCtl );
int ii=pWndCtl->GetDlgCtrlID();
} while (pWndCtl && (pWndCtl != pFirstCtl));

ho paura pero' che questo esempio vada solo runtime perchè ci sono i puntatori alle window.
come posso fare?io lo devo fare in design time!forse devo agire sulle proprietà dell'activex tipo getproperty(...