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。

    原文作者:jigetage
    原文地址: https://blog.csdn.net/jigetage/article/details/51592791
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞