您当前位置: 首页 > VB源码 > VB 相关 > VB 在系统默认菜单中追加自己的自定义菜单
VB 在系统默认菜单中追加自己的自定义菜单
收藏 报错 好评8

VB 在系统默认菜单中追加自己的自定义菜单

0.00 金币

源码类型:VB 相关

上传日期:2016-11-02 17:59:03

源码编号:744

高速下载源码

浏览:30 收藏:2 下载:6

简介: 复到原来的菜单取得窗口函数的地址用代替窗,理消息常数声明单击控制框产生此消息为菜单,隔线在菜单中加一个字符串全局变量保存默认,函数处理,,,,,,
关键词: 复到 理消 隔线 函数

详细介绍

当右键单击窗口的标题栏时,会弹出系统预置的菜单,这个实例演示了如何在系统菜单里加上自己的菜单项,并可以恢复到原来的菜单。
  Private Sub Form_Load()
   
   OldWindowProc = GetWindowLong(Form1.hwnd, GWL_WNDPROC)
   ‘ 取得窗口函数的地址
   Call SetWindowLong(Form1.hwnd, GWL_WNDPROC, AddressOf SubClass1_WndMessage)
   ‘ 用SubClass1_WndMessage代替窗口函数处理消息
  ‘ 常数声明
  Public Const WM_SYSCOMMAND = &H112
  ‘ 单击控制框产生此消息
  Public Const MF_SEPARATOR = &H800&
  ‘ 为菜单加一条分隔线
  Public Const MF_STRING = &H0&
  ‘ 在菜单中加一个字符串
  Public Const GWL_WNDPROC = (-4)
  
  ‘ 全局变量
  Public OldWindowProc As Long
  ‘ 保存默认的窗口函数地址
  Public SysMenuHwnd As Long
  ‘ 保存系统菜单句柄
  
  Public Function SubClass1_WndMessage(ByVal hwnd As Long, ByVal Msg As Long, ByVal wp As Long, ByVal lp As Long) As Long
   If Msg <> WM_SYSCOMMAND Then
   SubClass1_WndMessage = CallWindowProc(OldWindowProc, hwnd, Msg, wp, lp)
   ‘ 如果消息不是WM_SYSCOMMAND,就调用默认的窗口函数处理
客服 反馈