|
|
CWnd *wnd;
HWND hWnd;
它们怎么相互转换?
1.wnd->m_wnd;
2.CWnd *wnd=CWnd::FromHandle(hwnd)
你是说要强制转换吗?恐怕不行吧?wnd是窗口指针,hWnd是窗口句柄呀!不过可以互相获取,如下:
hWnd=wnd->m_hWnd;
wnd.Atach(hWnd)
建立一个CWnd对象,然后使用Attach将HWND和CWnd对象联系起来
static CWnd* PASCAL FromHandle( HWND hWnd );通过HWND构造一个CWnd*指针(但该指针在空闲时会被删除,所以不能保存供以后使用)。
//CWnd Object to HWND: CWnd wnd; HWND hWnd; hWnd = wnd.m_hWnd; // or hWnd = wnd.GetSafeHwnd(); //推荐 // HWND to CWnd Object: CWnd *pWnd; HWND hWnd; pWnd = CWnd::FromHandle(hWnd); // or pWnd->Attach(hWnd);
| |
http://blog.chinaunix.net/u/28371/showart_234740.html