一个MDI工程里面,只能有一个MDI窗口 可能你的Load方法相当于dim f as new frmMain,再加一个MDI窗口,所以出错 要不你在你的frmMain里面做一个过程 Public Sub LoadMenu() Load menu1(1) menu1(1).Caption = "test" menu1(1).Visible = True End Sub 然后 Private Sub Command2_Click() frmMain.LoadMenu Unload Me End Sub这样试试
在MDIForm设置主菜单mFile/子菜单mOpen。 Private Sub mOpen_Click() Dim f As New Form1 f.Show
End Sub1、将MDI窗体设置成工程的启动对象 2、将form1的MDIChild属性设置为True,使其成为MDI窗体的子窗体。
大哥,我按你的做法做了,确实是成功了,我原来没成功的关键原因是,我工程启动的时候运行的时候启动的是模块,就是 Sub Main() Set fMainForm = New frmMain fMainForm.Show End Sub非常感谢,但是又有了一个新的问题,我用 Main启动的时候可以设置好多东东,别的还好办,都可以在 fMainForm的load中去做,但是,我工程启动的时候要弹出一个登录窗口,这个怎么办?还有,全局变量怎么办?好象全局变量一定要定义在模块中,大哥没笑我菜,我才学了两天.分不够可以再加,先加上50分
可能你的Load方法相当于dim f as new frmMain,再加一个MDI窗口,所以出错
要不你在你的frmMain里面做一个过程
Public Sub LoadMenu()
Load menu1(1)
menu1(1).Caption = "test"
menu1(1).Visible = True
End Sub
然后
Private Sub Command2_Click()
frmMain.LoadMenu
Unload Me
End Sub这样试试
我在frmMain(MDIForm)设置主菜单mnuX/子菜单menu1(0),在Form1(子窗体)使用你的问题代码,没出错,test子菜单被加载了。
看来你要检查其他的设置?
Private Sub mOpen_Click()
Dim f As New Form1
f.Show
End Sub1、将MDI窗体设置成工程的启动对象
2、将form1的MDIChild属性设置为True,使其成为MDI窗体的子窗体。
Set fMainForm = New frmMain
fMainForm.Show
End Sub非常感谢,但是又有了一个新的问题,我用 Main启动的时候可以设置好多东东,别的还好办,都可以在 fMainForm的load中去做,但是,我工程启动的时候要弹出一个登录窗口,这个怎么办?还有,全局变量怎么办?好象全局变量一定要定义在模块中,大哥没笑我菜,我才学了两天.分不够可以再加,先加上50分
变量定义要看你这个变量的作用范围,如果怎个工程都要用到就定义在标准模块,这个看看书就知道了