Added bounds payload to tray clicked event

Used [Shell_NotifyIconGetRect function](https://msdn.microsoft.com/en-us/library/windows/desktop/dd378426) to get the bounds of the application's tray icon.
Note: only works with Windows 7 and later.

Related to #1159, #1500.
This commit is contained in:
Seppe Stas 2015-06-02 21:43:37 +02:00
parent ad851547e0
commit ce8aa073ee

View file

@ -49,7 +49,18 @@ void NotifyIcon::HandleClickEvent(const gfx::Point& cursor_pos,
bool left_mouse_click) {
// Pass to the observer if appropriate.
if (left_mouse_click) {
NotifyClicked();
NOTIFYICONIDENTIFIER icon_id;
memset(&icon_id, 0, sizeof(NOTIFYICONIDENTIFIER));
icon_id.uID = icon_id_;
icon_id.hWnd = window_;
icon_id.cbSize = sizeof(NOTIFYICONIDENTIFIER);
RECT rect;
Shell_NotifyIconGetRect(&icon_id, &rect);
int width = rect.right - rect.left;
int height = rect.bottom - rect.top;
NotifyClicked(gfx::Rect(rect.left, rect.top, width, height));
return;
}