bsynuaa 发表于 2003-12-9 16:45:00

求救:程序中怎么样操作菜单,让菜单项变灰啊,在线等!!

mccad 发表于 2003-12-9 17:45:00

/object/acad2004/idh_enable.htm

bsynuaa 发表于 2003-12-9 17:54:00

先谢谢您,但是我不大明白您的程序。
我的意思是:我用了一个登陆框,想先让其他菜单为灰,当登陆成功后,那些菜单再变成可以执行,您的程序好象不是。

efan2000 发表于 2003-12-9 18:47:00

在弹出登陆框,搜索MenuBa(菜单栏)r中的所有菜单和子菜单,将其变灰。
不过这种方法不是太好,用户使用Menu或者MenuLoad就可以重新加载。
应该在程序中判断是否登录,如没有登录,则不执行。

3kd 发表于 2003-12-9 18:48:00

你的是什么程序?
在VBA中,你的登陆框不关闭,能点菜单?不登陆不让他进入不就可以了?
请说清楚一点。

bsynuaa 发表于 2003-12-9 19:00:00

我现在想实现的是:开始我的一些菜单都是灰色的,进入登陆框,正确登陆后才激活那些菜单。而我想问的是怎么样才能用程序实现让菜单变灰和激活!!

efan2000 发表于 2003-12-9 19:29:00


Sub test()
    Dim PMObj As AcadPopupMenu
    Dim PMItemObj As AcadPopupMenuItem
    ' 遍历菜单栏
    For Each PMObj In Application.MenuBar
      ' 遍历下拉菜单
      For Each PMItemObj In PMObj
            ' 如果菜单项的类型是菜单项(其它类型为分隔条、子菜单)
            If PMItemObj.Type = acMenuItem Then
                ' 如果菜单项是“新建”菜单项
                If PMItemObj.TagString = "ID_New" Then
                  '变灰
                  PMItemObj.Enable = False
                ' 如果菜单项是“打开”菜单项
                ElseIf PMItemObj.TagString = "ID_Open" Then
                  '选中
                  PMItemObj.Check = True
                End If
            End If
      Next
    Next
    Set PMItemObj = Nothing
    Set PMObj = Nothing
End Sub

bsynuaa 发表于 2003-12-9 20:51:00

谢谢!!!!!!!!!
页: [1]
查看完整版本: 求救:程序中怎么样操作菜单,让菜单项变灰啊,在线等!!