怎样将图标加到状态栏上?
怎样将图标加到状态栏上?象输入法的图标那样 问题点数:20、回复次数:4Top
1 楼bestofbest(咖啡)回复于 2001-04-14 23:11:00 得分 10
使用API可以,网上有许多关于API的中文资料。你可以查查看,很简单的。
还有个方法是在系统中找实现这个功能的控件,具体的我不记得了。
程序员就应该有研究的精神,可以自己找出来就不用再问别人了,祝你成功!
我的妹儿是iscoffee@163.netTop
2 楼Jackyin(GunZ)回复于 2001-04-14 23:50:00 得分 10
‘模块
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const NIM_DELETE = &H2
Public Const NIM_ADD = &H0
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
Public oldWndAdress As Long
Public Function trayProc(ByVal hwnd As Long, ByVal intMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If intMsg = WM_USER + 100 Then
Select Case lParam
Case WM_LBUTTONDOWN
Unload Form1
Case WM_RBUTTONDOWN
End Select
Else
trayProc = CallWindowProc(oldWndAdress, hwnd, intMsg, wParam, lParam)
End If
'窗体
Private m_Nfd As NOTIFYICONDATA
With m_Nfd
.hIcon = Form1.Icon
.cbSize = Len(m_Nfd)
.uCallbackMessage = WM_USER + 100
.uID = 0
.szTip = "简易分辨率调整 (By Jackyin)" + Chr(0)
.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
.hwnd = Me.hwnd
End WithTop
3 楼Jackyin(GunZ)回复于 2001-04-14 23:51:00 得分 0
‘模块
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public 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
Public Const WM_MOUSEMOVE = &H200
Public Const NIM_ADD = &H0
Public Const WM_RBUTTONDOWN = &H204
Public Const GWL_WNDPROC = (-4)
Public Const WM_USER = &H400
Public Const WM_LBUTTONDOWN = &H201
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const NIM_DELETE = &H2
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
Public oldWndAdress As Long
Public Function trayProc(ByVal hwnd As Long, ByVal intMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If intMsg = WM_USER + 100 Then
Select Case lParam
Case WM_LBUTTONDOWN
Unload Form1
Case WM_RBUTTONDOWN
End Select
Else
trayProc = CallWindowProc(oldWndAdress, hwnd, intMsg, wParam, lParam)
End If
'窗体
Private m_Nfd As NOTIFYICONDATA
With m_Nfd
.hIcon = Form1.Icon
.cbSize = Len(m_Nfd)
.uCallbackMessage = WM_USER + 100
.uID = 0
.szTip = "简易分辨率调整 (By Jackyin)" + Chr(0)
.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
.hwnd = Me.hwnd
End WithTop
4 楼pengshanbing(兵儿)回复于 2001-04-15 17:14:00 得分 0
okTop




