VB窗体如何缩小到系统任务栏_第1页
VB窗体如何缩小到系统任务栏_第2页
VB窗体如何缩小到系统任务栏_第3页
VB窗体如何缩小到系统任务栏_第4页
VB窗体如何缩小到系统任务栏_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-作者xxxx-日期xxxxVB窗体如何缩小到系统任务栏【精品文档】豆瓣QQ 空间百度收藏网易微博搜狐微博51社区CSDN网摘Live 收.关注Win7关注Offi.如何使用直接从 Visual Basic 系统任务栏本文演示了如何充分利用 Windows 系统送纸器或使用 Visual Basic 的任务栏通知区域。它将您选择的图标放入任务栏通知区域时鼠标 rested 通过它,将还原应用程序时单击了,并将显示一个弹出式菜单将显示您选择的工具提示的时用鼠标右键单击。 这是所有可能引起的直接处理回调的 Visual Basic 的能力,因此利用完全 Shell_NotifyIcon 函数的 S

2、hell32.dll 由被导出。 可以向任何可视的基本项目具有至少一个窗体和标准模块添加下面的示例。 分步示例将下面的代码添加到项目中的标准模块的声明部分: 1. user defined type required by Shell_NotifyIcon API call2. Public Type NOTIFYICONDATA3. cbSize As Long4. hwnd As Long5. uId As Long6. uFlags As Long7. uCallBackMessage As Long8. hIcon As Long9. szTip As String * 6410. E

3、nd Type11.12. constants required by Shell_NotifyIcon API call:13. Public Const NIM_ADD = &H014. Public Const NIM_MODIFY = &H115. Public Const NIM_DELETE = &H216. Public Const NIF_MESSAGE = &H117. Public Const NIF_ICON = &H218. Public Const NIF_TIP = &H419. Public Const WM_MOUSEMOVE = &H20020. Public

4、 Const WM_LBUTTONDOWN = &H201 Button down21. Public Const WM_LBUTTONUP = &H202 Button up22. Public Const WM_LBUTTONDBLCLK = &H203 Double-click23. Public Const WM_RBUTTONDOWN = &H204 Button down24. Public Const WM_RBUTTONUP = &H205 Button up25. Public Const WM_RBUTTONDBLCLK = &H206 Double-click26.27.

5、 Public Declare Function SetForegroundWindow Lib user32 _28. (ByVal hwnd As Long) As Long29. Public Declare Function Shell_NotifyIcon Lib shell32 _30. Alias Shell_NotifyIconA _31. (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean32.33. Public nid As NOTIFYICONDATA34. 下面的代码添加到您要为您的应用程序响应系统

6、任务栏图标或通知图标在项目中的任何窗体: 35. Private Sub Form_Load()36. the form must be fully visible before calling Shell_NotifyIcon37.38.39. With nid40. .cbSize = Len(nid)41.42. .uId = vbNull43. .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE44. .uCallBackMessage = WM_MOUSEMOVE45.46. .szTip = Your ToolTip & vbNullChar4

7、7. End With48. Shell_NotifyIcon NIM_ADD, nid49. End Sub50.51. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)52. this procedure receives the callbacks from the System Tray icon.53. Dim Result As Long54. Dim msg As Long55. the value of X will vary depending u

8、pon the scalemode setting56. If Me.ScaleMode = vbPixels Then57. msg = X58. Else59.60. End If61. Select Case msg62. Case WM_LBUTTONUP 514 restore form window63. Me.WindowState = vbNormal64. Result = SetForegroundWindow(Me.hwnd)65.66. Case WM_LBUTTONDBLCLK 515 restore form window67. Me.WindowState = v

9、bNormal68. Result = SetForegroundWindow(Me.hwnd)69.70. Case WM_RBUTTONUP 517 display popup menu71. Result = SetForegroundWindow(Me.hwnd)72.73. End Select74. End Sub75.76. Private Sub Form_Resize()77. this is necessary to assure that the minimized window is hidden78.79. End Sub80.81. Private Sub Form

10、_Unload(Cancel As Integer)82. this removes the icon from the system tray83. Shell_NotifyIcon NIM_DELETE, nid84. End Sub85.86. Private Sub mPopExit_Click()87. called when user clicks the popup menu Exit command88. Unload Me89. End Sub90.91. Private Sub mPopRestore_Click()92. called when the user clic

11、ks the popup menu Restore command93. Dim Result As Long94. Me.WindowState = vbNormal95. Result = SetForegroundWindow(Me.hwnd)96.97. End Sub98. 使上面的代码添加到同一窗体上的以下属性设置: 99. Property Required Setting for Taskbar Notification Area example100. -101. Icon = The icon you want to appear in the system tray.10

12、2. Minbutton = True103. ShownInTaskbar = False104. 将下面的菜单项添加到同一窗体使用菜单编辑器: 105. Caption Name Enabled Visible Position106. -107. &SysTray mPopupSys True False Main Level108. &Restore mPopRestore True True Inset one109. &Exit mPopExit True True Inset one您可以根据需要添加更多菜单项。 任务栏通知区域灵活性您可以修改的通知中会显示工具提示通过更改以下行

13、在 Form_Load 过程中的图标: .szTip = Your ToolTip & vbNullChar替换为想要显示的文本的您工具提示。您可以修改通过更改以下行在 Form_Load 过程中的出现在任务栏通知区域中的图标: 替换 Me.Icon 与您的项目中的任何图标。您可以更改任务栏通知区域设置的任何 NIM_ADD 常数的使用后的任何时候重新分配在 nid 变量值,然后使用在以下的变体 Shell_NotifyIcon API 调用的: Shell_NotifyIcon NIM_MODIFY, nid.但是,如果您希望不同的窗体接收回调,然后您将需要首先删除当前图标 NIM_Modi

14、fy 函数将不接受新的 Hwnd,或您使用Shell_NotifyIcon NIM_Delete,nid将需要将其他图标添加到新的窗体使用的系统托盘Shell_NotifyIcon NIM_ADD,nid后重填物料 nid 类型使用新窗体的 Hwnd。对于您希望 Windows 系统托盘中显示的图标,并在每个窗体中进行更改的每个窗体的激活使用 NIM_DELETE 和 NIM_ADD 序列的事件,也可以声明 nid 类型的不同副本。 有关使用系统任务栏,或使用任务栏通知区域中,Visual Basic 4.0 或较早版本的详细信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 149276 ( ) 如何使用 Windows 95/98/me 任务栏通知区域图标 这篇文章中的信息适用于: Microsoft Visual Basic 6.0 学习版 Microsoft

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论