将CWnd *转换为myControl *

时间:2015-06-02 23:56:50

标签: c++ casting mfc controls cwnd

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

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

当我尝试调试并查看test的值时,不能评估其成员。 CWnd*绝对不是问题。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试使用:

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