能这么直接创建子菜单吗?
应该用API函数做吧.

解决方案 »

  1.   

    一个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这样试试
     
     
      

  2.   

    我对这一问题赶兴趣。
    我在frmMain(MDIForm)设置主菜单mnuX/子菜单menu1(0),在Form1(子窗体)使用你的问题代码,没出错,test子菜单被加载了。
    看来你要检查其他的设置?
      

  3.   

    在MDIForm设置主菜单mFile/子菜单mOpen。
    Private Sub mOpen_Click()
        Dim f As New Form1
        f.Show
        
    End Sub1、将MDI窗体设置成工程的启动对象
    2、将form1的MDIChild属性设置为True,使其成为MDI窗体的子窗体。
      

  4.   

    大哥,我按你的做法做了,确实是成功了,我原来没成功的关键原因是,我工程启动的时候运行的时候启动的是模块,就是 Sub Main()
        Set fMainForm = New frmMain
        fMainForm.Show
    End Sub非常感谢,但是又有了一个新的问题,我用 Main启动的时候可以设置好多东东,别的还好办,都可以在 fMainForm的load中去做,但是,我工程启动的时候要弹出一个登录窗口,这个怎么办?还有,全局变量怎么办?好象全局变量一定要定义在模块中,大哥没笑我菜,我才学了两天.分不够可以再加,先加上50分
      

  5.   

    将登录框.MDIchild设成false就可以了啊,再在按确定的时候把fMainForm.show
    变量定义要看你这个变量的作用范围,如果怎个工程都要用到就定义在标准模块,这个看看书就知道了