いつも見させていただいています。
VB6を使っているんですが、
1.タスクトレイにアイコンを表示して、アイコンを右クリックしたときにメニューを出す
2.タスクトレイにアイコンを表示して、バルーンチップを表示する
がしたいんです。
テスト用のプログラムを、ここのカコログなどを参考に作っみました。
それぞれはきちんど動作するのですが、上の1.2.を同時にやることができないのです。エラーも出ないし、バルーンも出ない状態です。
長くて申し訳ないのですがこのモジュールを統合するのが難しいようです
'1.の標準モジュール
Option Explicit
Public udtNotifyIconData As NOTIFYICONDATA
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 Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
'2.の標準モジュール
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 128
dwState As Long
dwStateMask As Long
szInfo As String * 256
uTimeoutOrVersion As Long
szInfoTitle As String * 64
dwInfoFlags As Long
End Type
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const NIF_INFO = &H10
Public Const WM_MOUSEMOVE = &H200
Public Const WM_USER = &H400
Public Const NIN_BALLOONSHOW = (WM_USER + 2)
Public Const NIN_BALLOONUSERCLICK = (WM_USER + 5)
> それぞれはきちんど動作するのですが、上の1.2.を同時にやることが
> できないのです。エラーも出ないし、バルーンも出ない状態です。
> このモジュールを統合するのが難しいようです
2.の標準モジュールで定義したNOTIFYICONDATA構造体に統一すれば
いいだけでは?
っていうか、そうしないとバルーンチップをサポートしないだけのこと。
ありがとうございました。
できました。
ツイート | ![]() |