Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.03;
Скачать: CL | DM;

Вниз

Использование RxTrayIcon   Найти похожие ветки 

 
Yurikon   (2009-11-11 15:34) [0]

Добрый день!

Использую компоненту RXTrayIcon. Для восстановления приложения из трея использую

 ShowWindow(Application.Handle, SW_RESTORE);
 ShowWindow(Application.Handle, SW_SHOW);
 ShowWindow(Application.MainForm.Handle, SW_SHOW);

Если этот код запускается из контекстного меню иконки, то все ок, прога восстанавливается и делается активной. Но если этот код назначить на дабл клик иконки, то прога просто восстанавливается из трея, но не делается активной.

Подскажите, плиз, в чем может быть проблема?

Спасибо!


 
Leonid Troyanovsky ©   (2009-11-11 18:37) [1]


> Yurikon   (11.11.09 15:34)  

>  ShowWindow(Application.MainForm.Handle, SW_SHOW);

А чего не просто: Show.
Это ж в WndProc формы происходит?

--
Regards, LVT.


 
Плохиш ©   (2009-11-11 22:52) [2]

Странно, я делаю в обработчике меню просто Application.Restore; и всё востанавливается. Пункт меню установлен для выполнения по умолчанию.


 
Германн ©   (2009-11-12 01:08) [3]


> Плохиш ©   (11.11.09 22:52) [2]

Я когда-то (давно это было) добавлял к
> Application.Restore;

ещё две строчки
 Application.BringToFront;
 RxTrayIcon1.Active:=False;

Но зачем и почему уже не помню. :(
Точнее про вторую строчку помню. Она была связана с gif-анимацией иконки.


 
TIF ©   (2009-11-12 03:17) [4]

> Подскажите, плиз, в чем может быть проблема?

Мне кажется дело не в том, что код "назначается не там где надо", а в том, что в момент этого теста приложение сворачивается на панель задач (а не скрывается с экрана вообще) перед попыткой его восстановления

После полного скрытия окна проблем с восстановлением обычно не возникает, а вот с восстановление свернутого окна как раз будет потеря фокуса

Ну это по моим скромным наблюдениям :)

Вот минимум кода, с которым у меня таких проблем нет - фокус окну передаётся и если оно ранее было скрыто, и если оно просто было свёрнуто:
//Скройся с глаз долой
ShowWindow(Form_Main.Handle, SW_HIDE);

//Открой личико
ShowWindow(Form_Main.Handle, SW_RESTORE);
SetForegroundWindow(Form_Main.Handle);


Германн ©   (12.11.09 01:08) [3]
> Application.BringToFront;
Эта строчка, наверное, как раз для достижения той же цели. Её можно использовать вместо SetForegroundWindow - эффект будет тот же


 
Yurikon   (2009-11-13 16:59) [5]

2 TIF:

Спасибо Вам!!! Все заработало!

:-)



Страницы: 1 вся ветка

Текущий архив: 2011.07.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
2-1301080427
DenKa
2011-03-25 22:13
2011.07.03
Вписать картинку в рамку с закругленными краями


2-1300958713
Дмитрий С
2011-03-24 12:25
2011.07.03
Есть какие нибудь известные грабли Graphics и много-поточности.


15-1300257468
Артём
2011-03-16 09:37
2011.07.03
Cистема на работе барохлит?


15-1300743002
Юрий
2011-03-22 00:30
2011.07.03
С днем рождения ! 22 марта 2011 вторник


15-1291142271
xayam
2010-11-30 21:37
2011.07.03
Как ускорить индексирование сайта поисковиками?