bool wxTaskBarIconEx::SetBalloon(const wxIcon& icon, const wxString title, const wxString message, unsigned int timeout, unsigned int iconballoon) { if (!IsOK()) return false; if (!icon.Ok()) return false; memset(¬ifyData, 0, sizeof(notifyData)); notifyData.cbSize = sizeof(notifyData); notifyData.hWnd = (HWND) m_hWnd; notifyData.uID = 99; notifyData.uCallbackMessage = sm_taskbarMsg; notifyData.uFlags = NIF_MESSAGE | NIF_INFO | NIF_TIP | NIF_ICON; notifyData.dwInfoFlags = iconballoon | NIIF_NOSOUND; notifyData.uTimeout = timeout; notifyData.uVersion = NOTIFYICON_VERSION; lstrcpyn(notifyData.szInfo, WXSTRINGCAST message, sizeof(notifyData.szInfo)); lstrcpyn(notifyData.szInfoTitle, WXSTRINGCAST title, sizeof(notifyData.szInfoTitle)); lstrcpyn(notifyData.szTip, WXSTRINGCAST wxEmptyString, sizeof(notifyData.szTip)); notifyData.hIcon = (HICON) icon.GetHICON(); UpdateIcon(); return m_iconAdded; }
// Create a drag image from an icon and optional cursor bool wxDragImage::Create(const wxIcon& image, const wxCursor& cursor) { if ( m_hImageList ) ImageList_Destroy(GetHimageList()); m_hImageList = 0; #ifdef __WXWINCE__ UINT flags = ILC_COLOR; #else UINT flags wxDUMMY_INITIALIZE(0) ; if (image.GetDepth() <= 4) flags = ILC_COLOR4; else if (image.GetDepth() <= 8) flags = ILC_COLOR8; else if (image.GetDepth() <= 16) flags = ILC_COLOR16; else if (image.GetDepth() <= 24) flags = ILC_COLOR24; else flags = ILC_COLOR32; #endif flags |= ILC_MASK; m_hImageList = (WXHIMAGELIST) ImageList_Create(image.GetWidth(), image.GetHeight(), flags, 1, 1); HICON hIcon = (HICON) image.GetHICON(); int index = ImageList_AddIcon(GetHimageList(), hIcon); if ( index == -1 ) { wxLogError(_("Couldn't add an image to the image list.")); } m_cursor = cursor; // Can only combine with drag image after calling BeginDrag. return (index != -1) ; }
// Operations bool wxTaskBarIconEx::SetIcon(const wxIcon& icon) { if (!IsOK()) return FALSE; memset(¬ifyData, 0, sizeof(notifyData)); notifyData.cbSize = sizeof(notifyData); notifyData.hWnd = (HWND) m_hWnd; notifyData.uID = 99; notifyData.uCallbackMessage = sm_taskbarMsg; notifyData.uFlags = NIF_MESSAGE; notifyData.uVersion = NOTIFYICON_VERSION; if (icon.Ok()) { notifyData.uFlags |= NIF_ICON; notifyData.hIcon = (HICON) icon.GetHICON(); } UpdateIcon(); return m_iconAdded; }
// Operations bool wxTaskBarIconEx::SetIcon(const wxIcon& icon) { if (!IsOK()) return false; if (!icon.Ok()) return false; memset(¬ifyData, 0, sizeof(notifyData)); notifyData.cbSize = sizeof(notifyData); notifyData.hWnd = (HWND) m_hWnd; notifyData.uID = 99; notifyData.uCallbackMessage = sm_taskbarMsg; notifyData.uFlags = NIF_MESSAGE | NIF_ICON; notifyData.uVersion = NOTIFYICON_VERSION; lstrcpyn(notifyData.szInfo, WXSTRINGCAST wxEmptyString, sizeof(notifyData.szInfo)); lstrcpyn(notifyData.szInfoTitle, WXSTRINGCAST wxEmptyString, sizeof(notifyData.szInfoTitle)); lstrcpyn(notifyData.szTip, WXSTRINGCAST wxEmptyString, sizeof(notifyData.szTip)); notifyData.hIcon = (HICON) icon.GetHICON(); UpdateIcon(); return m_iconAdded; }