如何动态使用VB快捷键?
我有个功能需要实现VB.Form上的菜单的动态添加、修改、删除功能,现遇到以下一个问题一直未能克服,特来向大师们求教:
1、我已有的Form上的菜单是用VB自带的MenuEditor生成的,里面的有个别的菜单是有快捷键的,我子类化了此窗体。现在鼠标点击此菜单的时候,我都能感应到相应的消息(WM_COMMAND),可是我用快捷键去激活菜单,VBIDE里的代码能相应,但是我子类化的过程却收不到相应消息,请问是什么原因造成的呢?
Form菜单代码:(快捷键是:Ctrl+N)
VB code:
Private Sub mnuFileOpen_Click()
'/* 快捷键及鼠标点击都能执行到
MsgBox "FormMenu Clicked!" & mnuFileOpen.Name
End Sub
子类化代码:(快捷键激活菜单时,下面过程捕捉不到,但是点击是可以捕捉到得)
VB code:
Private Function ISubclass_WindowProc(ByVal Hwnd As Long, ByVal iMsg As Long, ByVal wParam As Long, ByVal lParam As Long, Optional bCancel As Boolean = False) As Long
Dim tWinMessage As MSG
Dim lMenuID As Long
Dim oMenuItem As MenuItem
Select Case iMsg
Case WM_COMMAND
If lParam = 0 Then
lMenuID = LOWORD(wParam)
Set oMenuItem = m_oMenuHelper.FindMenuItemByID(lMenuID)
If Not oMenuItem Is Nothing Then
相关问答:
我有厂家做的ASP的监控录像(DVR)的局域网播放的源程序与控件,想要用ASP.net做一个视频回放的程序(利用他的控件)但不知如下去做,望各位指点。
先搞清楚他们的控件是怎么用的,
然后就直接用好了.
不过,如 ......
我有自动生成序列号的程序,但是怎么跟打包后的安装程序结合在一起,在安装时提示用户输入序列号,正确后再继续安装???
方法1:你可以在运行程序后输入序列号注册,很多软件都是这样的。
方法2:使用Setu ......
"insert into user1(name,age) values('" & Text1.Text & "','" & Text2.Text & "' )"
问题:对sql语句中单、双引号模糊。既然 Text1.Text就表示 ......
用VB怎么只针对windows自带的文件的右键添加菜单 如(.txt .doc)
这个是只针对以这两个为扩展名的文件操作
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\txtfile\shell\[随便起名]\command]
@= ......
在vb这编程里似乎有很多的东西是相联系的,为什么有些人对vb的编程摸不到头脑啊!并且有些事很容易的,但是却把它们的代码变成复杂,也去想一些不能实现的东西啊!
没分了,楼主多来点分!
来接点分
......