DDX 技术的创建是为了将资源与类成员(例如)链接起来。在我的解决方案中,我需要在 myCCtreeCtrl(CCtreeCtrl 的实例)与类成员 CCtreeCtrl 不在资源中建立连接。现在我在资源中有 CTreeCtrl 和简单的 doDataExchange:
#define IDC_TREE_LAYER0 2000
#define IDC_TREE_LAYER1 2001
#define IDC_TREE_LAYER2 2002
// ============================================================================
void ForcesGUI::doDataExchange( int id0, int id1, int id2, CDataExchange* pDX )
// ============================================================================
{
DDX_Control(pDX, id0, m_tree[0].data);
DDX_Control(pDX, id1, m_tree[1].data);
DDX_Control(pDX, id2, m_tree[2].data);
}
但将来有必要从资源中删除 CCtreeCtrl 并创建实例。
你会问我为什么需要从资源中删除?
答案是:在项目中,我有 3 个 CCtreeCtrls,每个人都住在自己的酒吧里。他们之间没有什么不同。这就是为什么我想使用 1 个条形类和 1 个树而不是冗余。在我创建 3 个 bar 实例之后,这里出现了 DDX 的问题,它在这里不起作用。
您有什么想法可以替换基本的 DDX 吗?可能是 WinAPI 或其他东西。无论如何感谢您的帮助。