MFC在自定义的类中怎么获取视图窗口的句柄

MFC在自定义的类中如何获取视图窗口的句柄

         HWND hwnd;
CWnd *pWnd;
pWnd = ((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();
hwnd = pWnd->GetDlgItem(IDD_CURRENT_CALL)->GetSafeHwnd();


我这样写,获得的hwnd是空的,是不是写的有问题!
------解决思路----------------------
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();返回的应该是CView*啊,再说了如果想在自己创建的类获取到windows的句柄那可以想要哪个windows的句柄就把哪个windows的句柄传给你的类对象就行了,可以通过函数或消息机制。
------解决思路----------------------
补充:如果是你的类对象包含窗口类,那直接在窗口类中把句柄暴露出去;如果是窗口类包含你的类对象,那可以把窗口类的句柄做为构造函数的参数传进你的类对象中,或者通过方法都可以;如果没有两个对象没有什么关系那么就可以使用消息传送。
------解决思路----------------------
构造这个类时可以将视图窗口句柄保存到这个类中
------解决思路----------------------
注意:
GetActiveView()前先SetActiveView 

BOOL CMainFrame::OnCreateClient中
SetActiveView(CXXView);