Flash traybar icon

4 отговора 0 прегледа
#1

Flash traybar icon

Здравейте опитвам се да премигвам иконата си долу на tray bar'a
иконата я показвам така :
with NotifyIconData do
begin
hIcon := Application.Icon.Handle;
StrPCopy( szTip, Application.Title );
Wnd := Handle;
uCallbackMessage := WM_ICONTRAY;
uID := 1;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
cbSize := SizeOf(TNotifyIconData);
end;

Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);

и след това премигването :
FWinfo.cbSize := 20;
FWinfo.hwnd := Application.Handle;
FWinfo.dwflags := FLASHW_ALL;
FWinfo.ucount := 10;
FWinfo.dwtimeout := 0;
FlashWindowEx( FWinfo );

но единственото премигване е na ToolBar'a ? Иконата си седи и не мърда ?

Благодаря предварително .

Отговор
в отговор на Student #2

Re: Flash traybar icon

говориш за две различни същности - иконката при часовника и бутона на приложението (т.е. прозореца). двете порции от кода просто работят с двете различни неща, които нямат общо и за да постигнеш премигване на иконката (която си сложил при часовника) просто трябва да я сменяш с друга или празна.

Отговор
в отговор на Student #3

Re: Flash traybar icon

В директорията ...\Examples\Controls\Traydemo има компонент, който реализира tray приложение. Според мен работи напълно прилично. До 6-та версия на Delphi/C++ Builder-a имаше една досадна греша в сорс кода, която предизвикваше едно забавяне при смяна на иконите, но това лесно може да се оправи с корекция в сорс кода. Кофти момента е, че няма никаква инфо как трябва да се използва компонентата, но е направена е достатъчно интелигентно, тъй че не се налага да се мъчиш много.

Tray bar или toolbar? Един път говориш за едното, втори път за другото...

Редактирано от Beco_ на

Отговор
в отговор на Beco_ #4

Re: Flash traybar icon

Съжалявам за объркването бих искал да ми премигва иконката до часовника. . Ще пробвам да заменям иконата с празна през интервал от време да видиме какво ще се получи.

Благодаря

Отговор
в отговор на Student #5

Re: Flash traybar icon

Готово просто замених иконата с 0 и стана мерси много за съветите !!

Отговор