当前位置:编程学习 > VB >>

vb里怎样才可以在DLL里设置MDI窗体

我的程序有个.exe的主程序,已有一个MDI窗体,现在我想通过这个窗体中的按钮弹出另外一个窗体(来自另外一个DLL)问题就来了,我不能设新的B主窗体为MDI窗体,提示说在DLL下不能使用MDI窗体。

这样导致在DLL下的其他窗体和B主窗体无法对应,因为MDIchild不能用,说无MDI窗体。

不知道大家是怎么解决这种问题的

谢谢啊 --------------------编程问答-------------------- 调用ActiveX DLL中窗体Form1的方法:
在ActiveX DLL中添加一个窗体Form1
在DLL类模块中编写一个全局函数即可:

Public Function CallForm(chenjl1031 as boolean)
       form1.visible=chenjl1031
end function    

在你的EXE主程序中只要:callForm(true)即可调用。 --------------------编程问答-------------------- 学习一下,留名 --------------------编程问答-------------------- 但是我其他窗体都是在DLL里的,我就想在DLL也设置个MDI窗体

EXE程序是另外个MDI。EXE里的窗体和DLL没关系 --------------------编程问答-------------------- 不用,就一个个地添加窗体就可以了。哪些先出来,哪些后出来,设置一下即可。 --------------------编程问答-------------------- 那是要在.exe的MDIFORM窗体里加?但是我我想在DLL的B窗体里打开其他窗体,且其他窗体是B窗体的子窗体 --------------------编程问答-------------------- DLL中最好添加独立(平行)的几个窗体。不要搞成子窗体。
顺便说一下,DLL中不能调用外部窗体。 --------------------编程问答-------------------- 朋友,你说的独立(平行)的几个窗体就是普通添加的窗体,而且MDIchild只能设置为FALSE吧

其实我现在是这样的
我有个.exe程序,运用了,就打开个MDI主窗体A,我在这个窗上有个按钮,我一点弹出个B窗体(来自DLL)

现在我又在B窗体里点按钮,也会弹出窗体C(也在DLL里),我想做到窗体C是窗B的子窗体,但是不能做到
因为B窗体不是MDI窗体

按你说的,我在.exe,我在A窗体的 LOAD里添加了callForm(true),但是不能用,运行不了,再者这样也好象不能让B窗体为MDI窗体

有点搞不明白了,谢谢 --------------------编程问答-------------------- 在DLL里加窗体变了子窗体的吧,因为无MDI主窗体 --------------------编程问答-------------------- 在DLL中加一个属性
将MDI窗体赋值给这个属性
就能通过这属性去完成主窗体的操作 --------------------编程问答-------------------- 可以具体说下吗? --------------------编程问答-------------------- 还有我说下,不是我主程序要使用DLL里的窗体,而是我DLL里的窗体想为MDI主窗体让DLL里其他窗体为他的子窗体

上面说的都是。EXE主程序使用DLL里的窗体问题,和我这个完全没关系啊 --------------------编程问答-------------------- 用 MDIExtender 控件。大概是在 MDIMain 和 DLL 中的任意 Form 上各放一个该控件,就能将 DLL 中的该 Form 显示为 MDIChild 的样式。 --------------------编程问答-------------------- MDIExtender 我也下了,好象要SERSION的,你有吗?

还有你这样用还是在.EXE主窗体里用DLL的窗体

其实我想做的是,.exe打开一个新的窗体(DLL),在任务栏就多出一列来,这个新窗体完全独立的,他里面的控制全是DLL的窗体,这和.exe主程序窗体完全没关系的
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,