CWnd *wnd;
HWND hWnd;
它们怎么相互转换?
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*指针(但该指针在空闲时会被删除,所以不能保存供以后使用)。
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);