有三个类,A B C
对应三个对话框D_A,D_B,D_CD_A是主对话框,D_B是选择界面,D_C是运行界面简而言之呢,就是通过D_A弹出D_B进行选择,再通过D_B弹出D_C运行并隐藏了D_B
运行后要返回D_B进行选择,要如何显示隐藏的D_B?三个类的关系是A{
B* B
}B{
C* C
}网上很多方法都试过了,基本上是说找到D_B的句柄showwindow,可是就是找不到,没用啊那些方法
GetParent()找到的是A
Finwindow()找不到
对应三个对话框D_A,D_B,D_CD_A是主对话框,D_B是选择界面,D_C是运行界面简而言之呢,就是通过D_A弹出D_B进行选择,再通过D_B弹出D_C运行并隐藏了D_B
运行后要返回D_B进行选择,要如何显示隐藏的D_B?三个类的关系是A{
B* B
}B{
C* C
}网上很多方法都试过了,基本上是说找到D_B的句柄showwindow,可是就是找不到,没用啊那些方法
GetParent()找到的是A
Finwindow()找不到
可以自己保存各个对话框的对象等,然后获取到句柄来ShowWindow控制
老师说的是,D_B是一个实例化对象啊,是在类A里new,create出的,怎么传递啊?而且D_C是类B里new,create出的一个对象,C应该是建立不了B对象的吧?这个指针如何定义啊?如何传递啊?
在B中new 和 create C之后,C->SaveB(B);显示B时,B->ShowWindow(SW_SHOW);
C中保存B的m_hWnd或者B指针都行。
我在C里保存了B的hWnd,但是没法再C中定义B类型的指针,不过总算成功了,谢谢啦
不过我还是想知道,怎样在C中定义B类型的指针呢?C是在B中new出来的,因为C中定义B* B的时候添加了B的头文件,C连B的头文件都加不了,怎么定义B类型的指针啊?
在C头文件开始地方
class B;
在C类h中
private:
B* b; //前向声明后只能定义指针
在C类的cpp中
#include "B.h"
然后就可以通过b使用B类的方法了
B* B
}B{
C* C
}A的主对话框的某个函数里(这个函数是响应b现实或者隐藏的)b.showwindow在a的onitialdialog里面创建b 就好了!