早教吧作业答案频道 -->其他-->
VB高手请进,帮我看下mnuTray该如何定义!在窗体上用菜单编辑器添加一个菜单项:标题与名称均为:mnuTray,设置其为隐藏,再随便添加几个子菜单,具体的功能你可以根据你的具体需要来编
题目详情
VB高手请进,帮我看下mnuTray 该如何定义!在窗体上用菜单编辑器添加一个菜单项:标题与名称均为:mnuTray,设置其为隐藏,再随便添加 几个子菜单,具体的功能你可以根据你的具体需要来编辑 1.模块的代码 Option Explicit Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long Public Const WM_USER = &H400 Public Const WM_LBUTTONUP = &H202 Public Const WM_MBUTTONUP = &H208 Public Const WM_RBUTTONUP = &H205 Public Const TRAY_CALLBACK = (WM_USER + 1001&) Public Const GWL_WNDPROC = (-4) Public Const GWL_USERDATA = (-21) Public Const NIF_ICON = &H2 Public Const NIF_TIP = &H4 Public Const NIM_ADD = &H0 Public Const NIF_MESSAGE = &H1 Public Const NIM_MODIFY = &H1 Public Const NIM_DELETE = &H2 Public OldWindowProc As Long Public TheForm As Form Public TheMenu As Menu Public Type NOTIFYICONDATA cbSize As Long hwnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 End Type Private TheData As NOTIFYICONDATA '新的窗口程序,它将取代原来的窗口程序 Public Function NewWindowProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If Msg = TRAY_CALLBACK Then '如果用户单击了托盘图标 If lParam = WM_LBUTTONUP Then ' 单击左键,恢复窗体 TheForm.WindowState = 0 End If If lParam = WM_RBUTTONUP Then '单击右键,弹出快捷菜单 TheForm.PopupMenu TheMenu Exit Function End If End If '将其他消息传递给原来的窗口程序 NewWindowProc = CallWindowProc(OldWindowProc, hwnd, Msg, wParam, lParam) End Function Public Sub AddToTray(frm As Form, mnu As Menu) '将程序图标添加到系统托盘区 '保存变量以供其他处引用 Set TheForm = frm Set TheMenu = mnu '装载新的窗口程序 OldWindowProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, AddressOf NewWindowProc) ' 将程序图标添加到系统托盘区 With TheData .uID = 0 .hwnd = frm.hwnd .cbSize = Len(TheData) .hIcon = frm.Icon.Handle .uFlags = NIF_ICON + NIF_TIP + NIF_MESSAGE .uCallbackMessage = TRAY_CALLBACK .uFlags = .uFlags Or NIF_MESSAGE .cbSize = Len(TheData) End With Shell_NotifyIcon NIM_ADD, TheData End Sub Public Sub RemoveFromTray() '将图标从系统托盘区中删除 TheData.uFlags = 0 Shell_NotifyIcon NIM_DELETE, TheData SetWindowLong TheForm.hwnd, GWL_WNDPROC, OldWindowProc ' 恢复原来的窗口程序 . End Sub Public Sub SetTrayTip(tip As String) '设置图标的提示信息 With TheData .szTip = tip & vbNullChar .uFlags = NIF_TIP End With Shell_NotifyIcon NIM_MODIFY, TheData End Sub 2.窗体的代码: Option Explicit Private Sub Form_Load() AddToTray Me, mnuTray '调用添加托盘图标子程序 SetTrayTip "王牌软件" '调用在托盘图标上显示提示的子程序 End Sub Private Sub Form_Unload(Cancel As Integer) On Error Resume Next RemoveFromTray '在窗体退出后,删除托盘中的图标 End Sub 请说详细点!谢谢...若能解决问题,必然送分
▼优质解答
答案和解析
vb中是不能这么声明的!! 每个变量都有定义! 错误原因:inputbox 返回的是字符串型,所以无法比较! 改正方法1: Dim x As Integer, y As Integer, z As Integer, t As Integer 改正方法2:x% = InputBox("输入一个...
看了VB高手请进,帮我看下mnuT...的网友还看了以下:
5-BrU(5-溴尿嘧啶)既可以与A配对,又可以与C配对.将一个正常的具有分裂能力的细胞,接种到含 2020-06-04 …
mRNA上的A为什么既可以与T配对又可以与U配对 2020-06-07 …
研究发现调节性T细胞具有抑制免疫反应的功能、防止免疫反应过度损伤自身,调节性T细胞数量由Mcl-l 2020-06-10 …
经研究发现,肿瘤细胞所具有的逃避免疫能力,是通过其表面产生的PD-L1蛋白质实现的.癌细胞表面的P 2020-06-19 …
5-BrU(5-溴尿嘧啶)既可以与A配对,又可以与C配对.将一个正常的具有分裂能力的细胞,接种到含 2020-06-22 …
经研究发现,肿瘤细胞所具有的逃避免疫能力,是通过其表面产生的PD-LI蛋白质实现的.癌细胞表面的P 2020-07-01 …
如图是HIV感染人体细胞过程的示意图.请回答下列问题.(1)HIV进入人体后,由于与T细胞表面的C 2020-07-21 …
几种短周期元素的原子半径及主要化合价见下表:下列叙述正确的是A.L、R的单质与稀盐酸反应的速率:L< 2020-11-02 …
下列有关人体免疫的说法中,不正确的是()A.初次接触花粉时可导致过敏反应的发生B.特异性免疫中发挥作 2020-12-13 …
5个选手P,Q,R,S,T举行一场赛跑.P胜Q,P胜R,Q胜S,并且T在P之后,Q之前跑完全程.谁不 2021-01-01 …