'窗体里菜单结构
'文件(mnuFile)
'----打开(mnu),索引为0
'Private Sub Form_Load()
    For i = 1 To 10
        Load mnu(i)  '将在打开菜单下加载10个菜单
    Next
End Sub

解决方案 »

  1.   

    第一种方法:  1. 在菜单主项中(条菜单),需要动态增减的项定义为菜单数组(index定义为:0)2. 程序中:用循环load 菜单
    第二种方法:  
    VB声明 
    Declare Function InsertMenu Lib "user32" Alias "InsertMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long 
    说明 
    在菜单的指定位置处插入一个菜单条目,并根据需要将其他条目向下移动 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hMenu Long,菜单的句柄 
    nPosition Long,定义了新条目插入点的一个现有菜单条目的标志符。如果在wFlags中指定了MF_BYCOMMAND标志,这个参数就代表欲改变的菜单条目的命令ID。如设置的是MF_BYPOSITION标志,这个参数就代表菜单条目在菜单中的位置,第一个条目的位置为零 
    wFlags Long,一系列常数标志的组合。参考ModifyMenu 
    wIDNewItem Long,指定菜单条目的新菜单ID。如果在wFlags中指定了MF_POPUP标志,就应该指定弹出式菜单的一个句柄 
    lpNewItem 如果在wFlags参数中设置了MF_STRING标志,就代表要设置到菜单中的字串(String)。如设置的是MF_BITMAP标志,就代表一个Long型变量,其中包含了一个位图句柄 
    注解 
    在vb里使用:这个函数做出的许多改变都可以正常发挥作用,但却不能由vb菜单对象反映出来。添加的命令ID必须能由vb菜单系统识别
     
    ====================================================================
    CreatePopupMenu VB声明 
    Declare Function CreatePopupMenu Lib "user32" Alias "CreatePopupMenu" () As Long 
    说明 
    创建一个空的弹出式菜单。可用AppendMenu或InsertMenu函数在窗口中添加条目,或者为一个现成的菜单添加弹出式菜单,并在新建的菜单中添加条目 
    返回值 
    Long,如成功,返回一个菜单句柄;零意味着错误 
    注解 
    并不推荐用这个函数来创建备用的vb菜单,除非是为TrackPopupMenu函数生成菜单。这个窗口中使用的命令ID必须与现有vb菜单控件的ID相符。或者用一个子类处理控件进行管理
     
    ====================================================================
    DeleteMenu VB声明 
    Declare Function DeleteMenu Lib "user32" Alias "DeleteMenu" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long 
    说明 
    删除指定的菜单条目(在vb里使用:强烈建议用vb菜单的visible属性从菜单中删除条目。如使用这个函数,会造成指定菜单其他菜单条目的visible属性错误的影响菜单条目) 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hMenu Long,菜单句柄 
    nPosition Long,欲删除菜单条目的标识符。如在wFlags中设置了MF_BYCOMMAND标志,这个参数就代表要改变的菜单条目的命令ID。如设置了MF_BYPOSITION标志,这个参数就代表条目在菜单中的位置(头一个条目肯定是零) 
    wFlags Long,MF_BYPOSITION或MF_BYCOMMAND,具体由nPosition参数决定 
    注解 
    如条目连接了一个弹出式菜单,就会清除弹出式菜单。用RemoveMenu函数清除一个弹出式菜单条目,同时不影响整个弹出式菜单
     
    ====================================================================
    DestroyMenu VB声明 
    Declare Function DestroyMenu Lib "user32" Alias "DestroyMenu" (ByVal hMenu As Long) As Long 
    说明 
    删除指定的菜单。如菜单属于另一个菜单的一部分,或直接分配给一个窗口,那么菜单会在窗口清除后被自动删除 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hMenu Long,欲删除菜单的句柄 
    注解 
    这个函数通常用于CreateMenu和CreatePopupMenu函数创建的菜单
      

  2.   

    有个控件叫ACTIVEBAR的,不仿去找找,不错的啊!支持动态菜单的加入!我的所有的程序就用一个主界面,菜单的内容放在INI文件中,要更换一个系统,换个INI文件就基本OK了,当然还有其他的图片等,而且是XP风格的呢!非常不错的!还有QQ的那种界面在里面,还可以在VB里做停靠!慢慢研究吧!我花了一个月多!
      

  3.   

    有没有ActiveSkin Control的license 啊!?
      

  4.   

    我要 activebar 的 license,
      

  5.   

    建立收藏夹菜单 & 读取菜单到TreeView:
    http://zyl910vb.51.net/vb/gui/FavMenu.htm右击连接,目标另存为
    注意把下载后的*.zip.jpg改名成*.zip