求助,请进来认真看。
我通过API函数在窗口的系统菜单上加了一个菜单项,名为“合并到主窗体”,但是我怎么取回它的单击事件呢?菜单如图所示。
还有什么数据需要的就说,只要思路,不要源码,谢谢。
顺便将加菜单项的代码发上来,供各位参考
- VB code
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long'取得系统菜单的句柄Private 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'在指定的菜单中加一个菜单项Private Const MF_STRING = &H0&'指定新的菜单项显示的是字符串Private Const MF_BYPOSITION = &H400&'指定前一个参数代表的是新菜单项的位置而不是IDPrivate Sub Form_Load()InsertMenu GetSystemMenu(Me.hwnd, 0), 0, MF_BYPOSITION Or MF_STRING, 0, "合并到主窗体"'添加菜单成功End Sub
[解决办法]
子类化...
[解决办法]
调用这类api操作,一般使用回调函数,
具体怎么调还是google吧,我也生不出来
wIDNewItem这个不应该传0吧,不然怎么知道按的哪个按钮
[解决办法]
WindowProc
函数功能:该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WNDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。
函数原型:
LRESULT CALLBACK WindowProc (HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM IParam);
参数:
hwnd:指向窗口的句柄。
uMsg:指定消息类型。
wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。
IParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。
返回值:返回值就是消息处理结果,它与发送的消息有关。