SDK编程中窗口ID,句柄,指针三者相互转换函数
ID--HANDLE--HWND三者之间的互相转换
id->句柄-----------hWnd = ::GetDlgItem(hParentWnd,id);
id->指针-----------CWnd::GetDlgItem();
句柄->id-----------id = GetWindowLong(hWnd,GWL_ID);
句柄->指针--------CWnd *pWnd=CWnd::FromHandle(hWnd);
指针->ID----------id = GetWindowLong(pWnd->GetSafeHwnd,GWL_ID);
GetDlgCtrlID();
指针->句柄--------hWnd=cWnd.GetSafeHandle() or mywnd->m_hWnd;
获取实例句柄的若干方法
hInst = GetWindowLong(hwnd,GWL_HINSTANCE)
把HINSTANCE 作为全局变量保存.
当建立窗口时,参数lparam指向了一个建立结构的地址.
可以这样获取实例句柄
hInst = ((LPCREATESTRUCT)lParam)->hInstance.