| Автор
| Сообщение |
 alphons
Новичок

Зарегистрирован: 06.05.2007
Сообщения: 21
|
|
|
Цитата |
|
Всю жизнь мечтал чтоб моя программа
красовалась рядом с Нортоном и часиками в трее.
Плиз осуществите мечту идиота подскажите как заставить
свою программу висеть в трее. |
|
| В начало |
|
 |
|
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Да, вот именно за этот вопрос обычно убивают каким-нибудь болезненным способом
Либо "ручками" с помощью функции Shell_NotifyIcon, либо какую-нибудь компоненту типа TrxTrayIcon использовать (их вообще море написато) _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
и в делфи уже есть готовый компонент. _________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
 alphons
Новичок

Зарегистрирован: 06.05.2007
Сообщения: 21
|
|
|
Цитата |
|
| Не могли б вы подсказать адреса, которые по вашему мнению являются самыми полезными хранилищами компонентов. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
to alphons
все зависит от того что ты хочешь иметь
тут кто-то выкладывал чего у кого есть
могешь поискать и выбрать
а так в поисковике запроси
(кажется Gelios имел ввиду RxLib - )
вообще старайся не юзать лишний раз компонентины
не буду дублироваться
http://forum.vingrad.ru - только поищи - там есть уже ответ готовый
(как говорится только проглотить надо, все разжевано) |
|
| В начало |
|
 |
 orlov_ds
Модератор

Возраст: 31
Знак зодиака: 
Зарегистрирован: 14.04.2004
Сообщения: 1723
Откуда: Новосибирск
|
|
|
Цитата |
|
В Raize есть такой компонент. _________________ Хорошо излагает, зараза! Учитесь, Киса! |
|
| В начало |
|
 |
|
|
|
Цитата |
|
тааак
только сейчас обратил внимание на косяки в работе своей прожки
(вопрос именно здесь размещаю потому как ошибка накладывается и на обработку работы с иконкой в трее.. далее объясню если ..)
по созданию главной формы:
application.Minimize;
Form1.AlphaBlendValue :=1;
затем по таймеру:
timer1.interval :=1;
OnTimer:
If Form1.AlphaBlendValue =1 then begin
Form1.Show;
Form1.WindowState :=wsNormal;
Form1.AlphaBlendValue :=255;
SetForegroundWindow(form1.Handle);
end;
ВНИМАНИЕ вопрос: когда оконце появилось, на панели задач кликаю правой кнопкой и появляется меню (Восстановить .. Закрыть) беспокоит именно первое слово, вместо него должно быть СВЕРНУТЬ!! почему так?
как вылечить? |
|
| В начало |
|
 |
 spoon
Энтузиаст

Возраст: 30
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 337
Откуда: Архипелаг ГУЛАГ
|
|
|
Цитата |
|
| Gelios писал(а): | | и в делфи уже есть готовый компонент. |
| CyberMerlin писал(а): | | (кажется Gelios имел ввиду RxLib - ) |
Наверное Gelios имел ввиду компонент TTrayIcon из Delphi 2006... _________________ Верь людям - только так можно узнать кому стоит верить. (c) spoon
Не можешь держать язык за зубами, держи языком зубы |
|
| В начало |
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
да, Gelios имел ввиду компонент Ttrayicon из Delphi 2006 и выше  _________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
|
|
 |
|
|
|
Цитата |
|
вылечил
следующей последовательностью команд
| delphi: | showWindow(Application.Handle,SW_SHOWNORMAL); showWindow(Form1.Handle,SW_SHOWNORMAL);
|
Добавлено спустя 48 минут 31 секунду:
теперь другой вопрос
| delphi: | procedure minimuz(var msg:TMessage); message WM_SHOWWINDOW; procedure TForm1.minimuz(var msg:TMessage); var Nim :TNotifyIconData; begin If msg.LParam = WS_MINIMIZE then begin ShowMessage('fgfgfdg--1111111111'); Form1.Caption :='---------'; end; If msg.LParam = SW_SHOWNORMAL then begin ShowMessage('fgfgfdg'); SendMessage(form1.Handle,0,0,WM_LBUTTONUP);
|
почему у меня при восстановлении из значка в окно сообщение появляется,
а при сворачивании (по клику на кнопке в панели задач) сообщение не появляется.... ?
вопрос 2: SendMessage(form1.Handle,0,0,WM_LBUTTONUP);
мной (точнее процедурой - procedure Згдлук(var Msg :TMessage); message wm_user+1 не получается?
у кого-н есть описалово wm_user+## на кажое такое сообщение в диапазоне от 000000 до FFFFFF ?
пните кто-н в нужную сторону. |
|
| В начало |
|
 |
 spoon
Энтузиаст

Возраст: 30
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 337
Откуда: Архипелаг ГУЛАГ
|
|
|
Цитата |
|
| alphons писал(а): | Всю жизнь мечтал чтоб моя программа
красовалась рядом с Нортоном и часиками в трее.
Плиз осуществите мечту идиота подскажите как заставить
свою программу висеть в трее. |
Я делал так:
| delphi: | procedure TForm1.CreateTrayIcon(n: Integer); var nData: TNotifyIconData; begin with nData do begin cbSize:= SizeOf(TNotifyIconData); Wnd:= Self.Handle; uID:= n; uFlags:= NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallbackMessage:= WM_MYTRAYNOTIFY; hIcon:= Application.Icon.Handle; szTip:= 'Kill ATS Loger'; end; Shell_NotifyIcon(NIM_ADD, @nData); end;
|
| delphi: | procedure TForm1.FormCreate(Sender: TObject); begin CreateTrayIcon(1); end;
|
| delphi: | procedure TForm1.DeleteTrayIcon(n: Integer); var nData: TNotifyIconData; begin with nData do begin cbSize:= SizeOf(TNotifyIconData); Wnd:= Self.Handle; uID:= n; end; Shell_NotifyIcon(NIM_DELETE, @nData); end;
|
| delphi: | procedure TForm1.FormDestroy(Sender: TObject); begin DeleteTrayIcon(1); end;
|
_________________ Верь людям - только так можно узнать кому стоит верить. (c) spoon
Не можешь держать язык за зубами, держи языком зубы |
|
| В начало |
|
 |
|
|
|
Цитата |
|
| Цитата: | | http://www.forum.chertenok.ru/viewtopic.php?p=42994#42994 |
разобрался и вылечил...
to spoon
а в чем разница между
hIcon:= Application.Icon.Handle;
и
hIcon:= Self.Icon.Handle;
?? |
|
| В начало |
|
 |
Alekc
Частый гость

Зарегистрирован: 01.04.2007
Сообщения: 28
|
|
|
Цитата |
|
to CyberMerlin
Рекомендую вдумчиво почитать МСДН на тему сообщений виндовс.
| Цитата: | вопрос 2: SendMessage(form1.Handle,0,0,WM_LBUTTONUP);
мной (точнее процедурой - procedure Згдлук(var Msg :TMessage); message wm_user+1 не получается? |
Какая связь между WM_LBUTTONUP и wm_user+1 ? Какое сообщение Вы посылаете, такое надо и обрабатывать...
| Цитата: | а в чем разница между
hIcon:= Application.Icon.Handle;
и
hIcon:= Self.Icon.Handle; |
В том, что Self - это текущий объект, и в 90% случаев это будет наследник TForm. |
|
| В начало |
|
 |
|
|
|
Цитата |
|
| Цитата: | | hIcon:= Application.Icon.Handle; |
тогда лучше self юзать?
в msdn касаемл wm_user + ## ничего не нашел
знаб только что можно присвоить любому сообщению эквивалент с любой цифрой - аля моя переменная для api messag |
|
| В начало |
|
 |
 spoon
Энтузиаст

Возраст: 30
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 337
Откуда: Архипелаг ГУЛАГ
|
|
|
Цитата |
|
| CyberMerlin писал(а): | | Цитата: | | hIcon:= Application.Icon.Handle; |
тогда лучше self юзать? |
Я бы заюзал всё таки Application... _________________ Верь людям - только так можно узнать кому стоит верить. (c) spoon
Не можешь держать язык за зубами, держи языком зубы |
|
| В начало |
|
 |
|