比如我实现了一个CDropEdit,然后在程序运行时,某个单击事件里动态创建一个CDropEdit,现在怎么把这个 控件与 CDropEdit联系起来呢?
因为DoDataExchange()是程序启动时被调用的。如何在程序运行时也具备这个功能呢?

解决方案 »

  1.   

    在CDropEdit的DoDataExchange中先绑定控件ID
      

  2.   

    void CDropEdit::DoDataExchange(CDataExchange* pDX)
    {
    // TODO: 在此添加专用代码和/或调用基类
    WORD dwID = GetDlgCtrlID();
    DDX_Control(pDX,dwID,*this); CEdit::DoDataExchange(pDX);
    }方法可行。但是如果别人使用该类(CDropEdit),先拖Edit控件到界面上,然后定义变量CDropEdit,然后在CXXXView::DoDataExchange(CDataExchange* pDX)
    中又做一次绑定,会出问题吗?这样好像和一般的控件不一致。