2012-05-18 3 views
0

Технология DDX была создана для связывания ресурсов с членами класса (например). В моем решении мне нужно установить связь между myCCtreeCtrl (мгновение CCtreeCtrl), не живущим в ресурсах с членом класса CCtreeCtrl. Теперь у меня есть CTreeCtrl в ресы и silmple DoDataExchange:Ищешь замену на DDX

#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 экземпляра бара, и здесь появляется проблема с DDX, которая не работает здесь.

Есть ли у вас идеи, как заменить базовый DDX? Возможно, это будет WinAPI или что-то еще. В любом случае спасибо за помощь.

+1

Трудно расшифровать ваш вопрос. Не уверен, что вы просите. –

+0

В двух словах мне нужно написать метод (например, DDX), который будет осуществлять взаимодействие между объектом myCCtreeeCtrl и членом класса m_CCtreeCtrl. Проблема в том, что я не могу использовать ресурсы. – Diego666

ответ

1

Если элемент управления не создается автоматически из ресурса диалога, его необходимо создать с помощью метода Create. Вы захотите сделать это в OnInitDialog или любом эквиваленте в родительском окне. Создав окно с помощью Create, он будет автоматически подключен к объекту, из которого вы его создали, - не нужно для DDX_Control.

+0

Отлично. Спасибо, Марк, я даже не представлял, что это так просто. – Diego666

Смежные вопросы