将CWnd *转换为myControl *

问题描述 投票:0回答:2

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

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

[当我尝试调试并查看测试的价值时,无法评估其成员。 CWnd*绝对不是问题。

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

c++ casting mfc controls cwnd
2个回答
0
投票

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


0
投票

尝试使用:

CEdit *pEdit = reinterpret_cast<CEdit*>(pWnd);
if (pEdit != nullptr)
  // Do something here
© www.soinside.com 2019 - 2024. All rights reserved.