MFC:窗口指针、窗口句柄和窗口ID的相互转换

接触MFC一段时间了,发现在进行窗口操作时,最频繁使用的就是指针、句柄和ID的相互转换了,总结了一套方法如下:

假设对于同一个窗口而言,其指针是pWnd,句柄是hWnd,ID是nID,那么三者相互转换了方法如下:


指针->句柄:hWnd = pWnd->GetSafeHwnd();
ID->句柄:hWnd = ::GetDlgItem(hParentWnd, ID);
句柄->指针:pWnd = CWnd::FromHandle(hWnd);
ID->指针:pWnd = Cwnd::GetDlgItem();
指针->ID:ID = GetWindowLong(pWnd->GetSafeHwnd(), GWL_ID);
句柄->ID:ID = GetWindowLong(hWnd, GWL_ID);


其中,ID->句柄和ID->指针的转换函数GetDlgItem再具体使用过程中需要查询MSDN。


你可能感兴趣的:(MFC)