Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Работа с системным треем


Автор: Lexus 1.10.2004, 18:22
Мне нужно, чтобы окно сворачиволось в сис трей и вызывалось обратно со помощью горячей клавиши.


qstn.gif adv/168.gif sample.gif

Автор: mr.DUDA 1.10.2004, 21:35
Lexus,
читай темы в C++ FAQ про системный трей.

Обрабатывай сообщение WM_SIZE, и если положение окна SIZE_MINIMIZED - то выполняй ShowWindow(SW_HIDE) и показывай (создавай) иконку в трее. При клике на иконке в трее - вызывай ShowWindow(SW_SHOW).


Автор: Darked 1.10.2004, 21:43
mr.DUDA
Чего - то я не понял, а причем тут WM_SIZE?

Автор: mr.DUDA 1.10.2004, 21:48
Цитата(Darked @ 1.10.2004, 21:43)
Чего - то я не понял, а причем тут WM_SIZE?


см. MSDN:

Цитата
The WM_SIZE message is sent to a window after its size has changed.

A window receives this message through its WindowProc function.


Syntax

WM_SIZE

    WPARAM wParam
    LPARAM lParam;
   
Parameters

wParam
Specifies the type of resizing requested. This parameter can be one of the following values.
SIZE_MAXHIDE
Message is sent to all pop-up windows when some other window is maximized.
SIZE_MAXIMIZED
The window has been maximized.
SIZE_MAXSHOW
Message is sent to all pop-up windows when some other window has been restored to its former size.
SIZE_MINIMIZED
The window has been minimized.
SIZE_RESTORED
The window has been resized, but neither the SIZE_MINIMIZED nor SIZE_MAXIMIZED value applies.
lParam
The low-order word of lParam specifies the new width of the client area.
The high-order word of lParam specifies the new height of the client area.


Пояснение:
отследить событие "окно было свёрнуто" можно перехватив сообщение WM_SIZE с wParam = SIZE_MINIMIZED, и тогда нужно скрыть окно и показать иконку в трее.

Автор: Darked 1.10.2004, 21:59
mr.DUDA
TNX, все, понял.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)