怎么在 任务栏放置控件?
(开始)-(快速启动)-(-----------------------这里怎么放控件-)-(托盘)文本框 按钮这里不能放控件 托盘怎么放控件 文本框 按钮 谢谢 --------------------编程问答-------------------- Win32 API --------------------编程问答-------------------- 你想实现什么功能? --------------------编程问答-------------------- 搜索
Shell_NotifyIconA --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 想在那里放控件有两个方法
1 是简单的setparent ,这个方法关键是找到正确的那一层
2是调用shell api实现类型象 wmp嵌于任务栏的方式, 那种确实是比较好的一种
不过说来还是setparent方便点... --------------------编程问答-------------------- Option Explicit
Private 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 Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const WM_MOUSEMOVE = &H200
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Dim t As NOTIFYICONDATA
Private Sub Form_Load()
t.cbSize = Len(t)
t.hWnd = pic.hWnd
t.uId = 1&
t.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
t.ucallbackMessage = WM_MOUSEMOVE
t.hIcon = pic.Picture
t.szTip = "索引模块" & Chr$(0)
Shell_NotifyIcon NIM_ADD, t
Me.Hide
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
t.cbSize = Len(t)
t.hWnd = pic.hWnd
t.uId = 1&
Shell_NotifyIcon NIM_DELETE, t
End Sub
Private Sub pic_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Hex(X) = "1E3C" Then
Me.PopupMenu Popup
End If
End Sub
Private Sub showMenu_Click()
Me.Show
End Sub
Private Sub hideMenu_Click()
Me.Hide
End Sub
Private Sub exitMenu_Click()
Unload Me
End Sub
--------------------编程问答--------------------
是shell api 但并不是 Shell_NotifyIcon , 这是托盘区的操作方法,并非任务区的
补充:VB , 基础类