0
GUIとしてコンテキストメニューのみの小さなシステムトレイプログラムを作成しようとしています。szTipを正しく設定しても通知アイコンのツールチップが表示されない
しかし、私はツールチップを動作させることができません。私は正しくNOTIFYICONDATAのszTipをセットアップし、他のすべてはうまくいくように見えます...マウスオーバーでツールチップが表示されない原因は何ですか? NIF_SHOWTIP
フラグを追加
void main()
{
int result;
hinst = GetModuleHandle(NULL);
memset(&wnd, 0, sizeof(wnd));
wnd.cbSize = sizeof(wnd);
wnd.lpszClassName = "MainWClass";
wnd.lpfnWndProc = MainWProc;
wnd.hInstance = hinst;
result = RegisterClassEx(&wnd);
hwnd = CreateWindowEx
(
0, //extended styles
wnd.lpszClassName, //class name
"Main Window", //window name
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL | WS_MINIMIZEBOX, //style tags
CW_USEDEFAULT, //horizontal position
CW_USEDEFAULT, //vertical position
CW_USEDEFAULT, //width
CW_USEDEFAULT, //height
(HWND) NULL, //parent window
(HMENU) NULL, //class menu
(HINSTANCE) wnd.hInstance, //some HINSTANCE pointer
NULL //Create Window Data?
);
nid.cbSize = sizeof(nid);
nid.hWnd = hwnd;
nid.uID = 1;
nid.uVersion = NOTIFYICON_VERSION_4;
nid.uCallbackMessage = WM_CONTEXTMENU;
nid.hIcon = LoadIcon(hinst, MAKEINTRESOURCE(IDI_ICON1));
strcpy(nid.szTip, "My Tooltip!");
nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
if(! Shell_NotifyIcon(NIM_ADD, &nid))
{
printf("Shell_NotifyIcon(NIM_ADD, &nid) failed.\r\n");
Sleep(INFINITE);
}
if(! Shell_NotifyIcon(NIM_SETVERSION, &nid))
{
printf("Shell_NotifyIcon(NIM_SETVERSION, &nid) failed.\r\n");
Sleep(INFINITE);
}
UpdateWindow(hwnd);
while(true)
{
//Dispatch for main window
if(PeekMessage(&msg, hwnd, NULL, NULL, PM_REMOVE))
{
DispatchMessage(&msg);
}
}
}
ありがとうございました。 – Joshua