将 CWnd* 转换为 myControl*

Convert CWnd* to myControl*

我正在尝试将 CWnd* 指针转换为自定义控件指针。自定义控件只是扩展 CEdit。以下是我所拥有的。 pWnd 被传入。它是一个 CWnd*

calEdit* test = (calEdit*)pWnd->GetDlgItem(pWnd->GetDlgCtrlID());

当我尝试调试并查看 test 的值时,它的 none 个成员可以被评估。 CWnd*绝对不是问题。

为了确保 CWnd* 指向我想要的控件,我做了 pWnd->GetDlgCtrlID(),并且 ID 与预期的控件匹配。

尝试使用CEdit *pEdit = dynamic_cast<CEdit*>(pWnd)

尝试使用:

CEdit *pEdit = reinterpret_cast<CEdit*>(pWnd);
if (pEdit != nullptr)
  // Do something here