如上图中,panel面板中的,我希望单击A对话框中的添加按钮时,会在B对话框中动态生成相应按钮等控件。
所以,在A.h文件中定义: B m_b;在A.cpp中使用:m_b.AddCtrl();不可否认,控件确实添加成功,但是为什么单击动态按钮时,却不能响应相应的事件呢?即使我将A中的定义变为指针,B* m_pb;
后来呢,终于解决,感谢我的同事:
在panel所在的主对话框中有:
Main.h文件中 A* m_wndA; B* m_wndB;
Main.cpp文件中 :
OnCreate(){
m_spitter.create()
……
m_wndA = dynamic_cast<A*>(m_ spitter.GetPane(0,0));
m_wndB = dynamic_cast<B*>(m_ spitter.GetPane(1,0));
m_wndA->m_pb = m_wndB;
}
此时,你再在A.cpp文件中使用B* m_pb,就完全木有问题啦。。。(*^__^*) 嘻嘻……
其实呢,我还有一个想法,就是直接在A.cpp中发送消息到B,让B自己操作,我觉得应该也行,不过木有实现,感兴趣的朋友可以自己动手试一下哦