可不可以动态创建一个MDI子窗体啊?
我想在Dll中写一个方法显示一个Form,
并在一个有MDI的工程文件中调用此DLL的方法显示此Form,并把它显示成MDI子窗体的模式。
1: DLL中代码(一个class,一个form)
Private mvarpForm As Object '局部复制
Public Property Set pForm(ByVal vData As Object)
Set mvarpForm = vData
End Property
Public Property Get pForm() As Object
Set pForm = mvarpForm
End Property
Public Sub doForm1()
Set pForm = Form1
End Sub
2: 含MDI窗体的工程文件中代码:(一个MDIForm,上面一个Picturebox,该Picturebox上一个按扭)
Private aa As New testdll.Class1
Private bb As Form
Private Sub Command1_Click()
aa.doForm1
Set bb = aa.pForm
' bb.MDIChild = True ' 想要此效果,但大家都知道,Form.MDIChild属性为只读
bb.Show
End Sub
问题点数:50、回复次数:3Top
1 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-23 09:39:17 得分 0
可以用SetParent API函数来做Top
2 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-23 09:43:35 得分 50
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private aa As New testdll.Class1
Private bb As Form
Private Sub Command1_Click()
aa.doForm1
Set bb = aa.pForm
bb.Show
SetParent bb.hWnd,MDIForm1.hWnd
End Sub
Top
3 楼lizhanglihua(lizhanglihua)回复于 2006-03-23 09:50:08 得分 0
OK,多谢多谢。Top




