如何使用句柄值强制启用菜单项中的按钮,并确保单击甚至点火

时间:2016-11-05 18:34:28

标签: vb6

如何启用菜单项并确保点击甚至会触发?

我有app1和app2

app2 有 3个菜单项
黄金

青铜

我设置了选项 enabled = false
在所有3项单击事件中我都有msgbox,所以当点击它时我知道msgbox已启动并且正常工作。

=======================================

APP1 有下面的代码,我有一个图像,我拖动到app1获取窗口句柄值,然后获取菜单句柄值,每个菜单句柄值我插入到text2.text并启用菜单按钮。

Public Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long


Private Sub Command5_Click()
 EnableWindow Text2.Text, 1 ' Enable < This is the API call
        ControllEnabled = True ' Sets Swich
End Sub

当我使用句柄值启用每个菜单项时,菜单项然后变得可点击,当我点击它时,它不会激活msgbox?怎么样来 的模块

'Public verables
Public ControllEnabled As Boolean
Public CursorPosition As POINT
Public Targeting As Boolean

'User defined type
Public Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Public Type POINT
    x As Long
    y As Long
End Type

1 个答案:

答案 0 :(得分:0)

它没有触发MsgBox,因为您还没有为菜单项编写单击事件处理程序。此外,您不需要使用API​​来执行您需要执行的操作,并且我不建议您这样做。使用内置事件处理程序更容易。

我将从VB6 doc向您推荐Microsoft的Using Menus in Your Application。我建议你废弃你现有的代码,阅读所有这些,然后重新开始。菜单并不像你制作它们那么困难,如果采用更常用的菜单创建方法,你将节省大量时间。