DDX技术是为链接资源和类成员而创建的(例如)。在我的解决方案中,我需要建立myCCtreeCtrl ( CCtreeCtrl的实例)与类成员CCtreeCtrl不在资源中的连接。现在我在资源和silmple doDataExchange中有了CTreeCtrl:
#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个bar类和1棵树而不是冗余。之后,我将创建3个实例的酒吧,这里出现的问题与DDX,其中不能在这里工作。
你知道怎么替换基本的DDX吗?也许它会是WinAPI或其他什么。无论如何,谢谢你的帮助。
发布于 2012-05-19 11:55:46
如果控件不是从对话框资源自动生成的,则必须使用Create方法创建它。您可能希望在OnInitDialog或父窗口中的任何等效窗口中执行此操作。通过使用Create创建窗口,它将自动连接到创建它的对象-不需要DDX_Control。
https://stackoverflow.com/questions/10659626
复制相似问题