在 MFC 中,CWnd::FromHandle 是一个静态公共方法,用于根据窗口句柄获取对应的 CWnd 对象。这个方法的声明如下:
static CWnd* PASCAL FromHandle(HWND hWnd);

它接受一个窗口句柄 hWnd 作为参数,返回与该句柄相关联的 CWnd 对象的指针。这样可以将 Windows API 中得到的窗口句柄与 MFC 中的 CWnd 对象关联起来,方便进行操作。

示例代码:
HWND hWnd = ::CreateWindow(
    _T("BUTTON"),          // 窗口类名
    _T("Click me"),        // 窗口标题
    WS_OVERLAPPEDWINDOW,    // 窗口样式
    CW_USEDEFAULT,          // 窗口位置 x
    CW_USEDEFAULT,          // 窗口位置 y
    200,                    // 窗口宽度
    100,                    // 窗口高度
    NULL,                   // 父窗口句柄
    NULL,                   // 菜单句柄
    AfxGetInstanceHandle(), // 应用程序实例句柄
    NULL                    // 附加参数
);

// 使用 CWnd::FromHandle 获取对应的 CWnd 对象
CWnd* pWnd = CWnd::FromHandle(hWnd);

if (pWnd != NULL)
{
    // 使用 pWnd 操作窗口
}

在上述示例中,CWnd::FromHandle 方法用于将 Windows API 中创建的窗口句柄转换为 CWnd 对象,方便使用 MFC 的成员方法进行操作。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23294/MFC/CWnd