鼠标放在系统托盘图标上没有提示信息(evc)

whc123   2009-6-1 22:41 楼主
把鼠标移动到系统托盘图标上时,显示提示信息。我使用下面代码实现,可是鼠标放上去后,提示信息并没有出来。


BOOL CMKNKDlg::OnInitDialog()
{
        CDialog::OnInitDialog();

        // Set the icon for this dialog.  The framework does this automatically
        //  when the application's main window is not a dialog
        SetIcon(m_hIcon, TRUE);                        // Set big icon
        SetIcon(m_hIcon, FALSE);                // Set small icon
       
        CenterWindow(GetDesktopWindow());        // center to the hpc screen

        // TODO: Add extra initialization here
        m_cTrayIcon.TrayIconAdd( m_hWnd,
                ID_TRAY,
                TRAY_NOTIFYICON,
                LoadIcon( AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON_MKNK) ),
                AfxGetInstanceHandle(),
                IDS_TIP,
                NULL );
        return TRUE;  // return TRUE  unless you set the focus to a control
}

void CTrayIcon::TrayIconAdd( HWND hwnd,
                                                         UINT uID,
                                                         UINT uCallbackMessage,
                                                         HICON hIcon,
                                                         HINSTANCE hInstance,
                                                         UINT uTipID,
                                                         PTSTR pszTip )
{
        TrayMessage(hwnd, NIM_ADD, uID, uCallbackMessage, hIcon, hInstance, uTipID, NULL);
}

BOOL CTrayIcon::TrayMessage( HWND hwnd,
                                                         DWORD dwMessage,
                                                         UINT uID,
                                                         UINT uCallbackMessage,
                                                         HICON hIcon,
                                                         HINSTANCE hInstance,
                                                         UINT uTipID,
                                                         PTSTR pszTip )
{
        BOOL res = FALSE;
        NOTIFYICONDATA tnd;

        tnd.cbSize = sizeof(NOTIFYICONDATA);
        tnd.hWnd = hwnd;
        tnd.uID = uID;
        tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
        tnd.uCallbackMessage = uCallbackMessage;
        tnd.hIcon = hIcon;
//        tnd.szTip[0] = '\0';
        if ( dwMessage==NIM_ADD )
                LoadString( hInstance, uTipID, tnd.szTip, sizeof(tnd.szTip) );

        res = Shell_NotifyIcon(dwMessage, &tnd);
        return res;
}


但是鼠标放上去之后,图标并没有出现,不知道咋回事。


回复评论 (3)

我以前也试过,也没有,关注中...
点赞  2009-6-2 15:22
好像evc不支持用户更换鼠标图形吧。
点赞  2009-6-30 08:29
我试过也不行,好像wince不支持
点赞  2009-7-17 14:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复