描述:
首先生成一个ActiveX的工程,然后往资源添加一个对话框。
然后编译生成OCX,
注册OCX,在测试页面调用这个OCX时,
如果是用doModal的时候这个对话框能显示出来,
但是如果我用非模态生成的时候,只看到这个对话框一闪而过,
请问这是为什么呢?
我就是想做一个弹出的对话框,不影响IE的浏览,
就像Word里面Ctrl+F的搜索框一样。
谢谢了。
解决方案1:
直接用CreateWindowEx创建呢
解决方案2: 你想从哪里调用到ocx?
可以直接用js等来调用ActiveX
你的对话框要 CYourDlg *pDLg = new CYourDlg();
pDlg->Create()
pDlg->ShowWindow()
Create完了后,用ShowWindow(SW_SHOW)
解决方案5: 你不会是把对话框窗口直接创建并调用吧,这个窗口应该是被控件容器创建激活的,生命期由容器决定,不知道你是怎么创建的。
另外你说的问题通常是因为你把对话框类在函数里面创建了一个局部变量,DoModal的时候一点问题也没有,但是非模态就不行,因为局部变量在函数退出时就会析构,窗口创建后马上就被销毁了,应该用生命期更长的变量,例如全局变量或者类成员变量。
应该是你的做法有问题,反正我用ATL做很容易.
不太清楚你怎么做的