| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 424 人关注过本帖
标题:[求助]关于窗体问题
只看楼主 加入收藏
laijian
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-12-3
收藏
 问题点数:0 回复次数:4 
[求助]关于窗体问题

各位,大哥大姐.我有个问题想请教大家!在VB中怎样编才可以把窗体缩小到托盘中呢?

搜索更多相关主题的帖子: 窗体 
2006-12-03 06:36
bestfeng
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:179
专家分:0
注 册:2006-10-31
收藏
得分:0 

这个问题牵扯到windows API
参考一下下面的例子。
Declare Function Shell_NotifyIconA Lib "SHELL32" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

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

' commands & flags for NotifyIcons
Global Const NIM_ADD = &H0&
Global Const NIM_MODIFY = &H1
Global Const NIM_DELETE = &H2
Global Const NIF_MESSAGE = &H1
Global Const NIF_ICON = &H2
Global Const NIF_TIP = &H4
Global Const WM_MOUSEMOVE = &H200
Global NI as NOTIFYICONDATA

创建提示图标

将下面的代码放在Form_Load事件中以产生一个提示图标。所有的鼠标事件都将会传递到PictureBox的MouseMove事件中。

' stock NOTIFYICONDATA structure
NI.cbSize = Len(NI) 'length of this structure
NI.hWnd =Picture1.hwnd 'control to receive messages
NI.uID = 0 ' uniqueID
NI.uFlags = NIF_MESSAGE or NIF_ICON or NIF_TIP ' Operation Flags
NI.uCallbackMessage = WM_MOUSEMOVE ' message to send to control
NI.hIcon = Picture1.DragIcon ' handle to Icon
NI.szTip = "My Tool Tip" + Chr$(0) ' Tool Tip

' 必须给提示图标分配一个唯一的ID号
' so increment until creation is successful

Do
NI.uID = NI.uID + 1
result = Shell_NotifyIconA(NIM_ADD, NI)
Loop While result = 0

修改提示图标Modifying NOTIFYICON

下面的例子可以修改图标

NI.hIcon = Picture2.DragIcon
NI.szTip = "Different Tool Tip" + Chr$(0)
' modifies an existing NotifyIcon
result = Shell_NotifyIconA(NIM_MODIFY, NI)

删除提示图标Deleting NOTIFYICON

将下面的代码放在Form_Unload事件中

' 删除已有的提示图标
result = Shell_NotifyIconA(NIM_DELETE, NI)

下面的代码放在 PictureBox的MouseMove事件中

' 从提示图标接收消息
' 消息通过X参数传递

Dim Msg as Long


Msg = (X And &HFF) * &H100
Select Case Msg

Case 0 ' 鼠标移动
' 在此输入你的代码

Case &HF00 ' 鼠标左键被按下
' 在此输入你的代码

Case &H1E00 '
' 在此输入你的代码

Case &H2D00 ' 双击鼠标左键
' 在此输入你的代码

Case &H3C00 ' 鼠标右键被按下
' 在此输入你的代码

Case &H4B00 ' 鼠标右键弹起
' 在此输入你的代码

Case &H5A00 ' 双击鼠标右键
' 在此输入你的代码

End Select

2006-12-03 10:21
shenqiwei
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-12-2
收藏
得分:0 
2006-12-04 13:38
shenqiwei
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-12-2
收藏
得分:0 
2006-12-04 13:39
shankexiaodi
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-11-23
收藏
得分:0 
看不懂
2006-12-04 13:51
快速回复:[求助]关于窗体问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036044 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved