Иконка в трее

Обсуждение программ nnCron и nnCron LITE

Иконка в трее

Postby trvi » Thu, 17 Jan 2008, 22:08

Можно ли изменить иконку nncrona в трее. Очень надо! Может как-то изменить в исходной коде? Спасибо большое за любую помощь!
trvi
 
Posts: 162
Joined: Tue, 27 Nov 2007, 12:54

Re: Иконка в трее

Postby AlikasS » Mon, 04 Feb 2008, 09:30

trvi wrote:Можно ли изменить иконку nncrona в трее. Очень надо! Может как-то изменить в исходной коде? Спасибо большое за любую помощь!

как вариант спрятать иконку по SysTrayIcon OFF в nncron.ini или HIDE-ICON в задаче
добавь свою иконку по ADD-TI
и "повесить" на свою иконку вызов своего меню.
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Иконка в трее

Postby SaMM » Mon, 04 Feb 2008, 20:43

и "повесить" на свою иконку вызов своего меню.

Интересно, а как это сделать?
SaMM
 
Posts: 236
Joined: Fri, 25 Aug 2006, 12:33

Re: Иконка в трее

Postby AlikasS » Tue, 05 Feb 2008, 01:56

SaMM wrote:
и "повесить" на свою иконку вызов своего меню.

Интересно, а как это сделать?

Code: Select all
#( trayface_on
\ создание иконки и меню на нее
NoActive
VARIABLE bmicon_id
201 CONSTANT MI_S1
202 CONSTANT MI_S2
: make-BMMenu-popup
POPUPMENU
S" msg1 " MI_S1 MENUITEM
MENUSEPARATOR
S" msg2 " MI_S2 MENUITEM
21 RES MI_WINSPY MENUITEM \ из исходников
END-MENU
;

: def-item-action MSG: "выбран первый пункт" ;

\ задаем действия для каждого пункта меню
: start-BMMenu-item ( id --   )
CASE
   MI_S1 OF def-item-action ENDOF
   MI_S2 OF MSG: "выбран второй пункт" ENDOF \ можно делать как MI_S2 OF имя_какой-ниубдь_задачи LAUNCH ENDOF
   MI_WINSPY OF winspy ENDOF \ из исходников
ENDCASE
;

: BMMenu
bmicon_id @ ->CLASS TrayIcon hWnd @ SetForegroundWindow DROP
make-BMMenu-popup >R
\ делаем один из пунктов меню выделенным жирным шрифтом
0 MI_S1 R@ SetMenuDefaultItem DROP

0 bmicon_id @ ->CLASS TrayIcon hWnd @ CalcMenuYX
( TPM_RETURNCMD) 256 R@ TrackPopupMenuEx
?DUP IF start-BMMenu-item THEN
R> DestroyMenu DROP
;

VARIABLE trayface_on_id \ для управления потоком
Action:
trayface_on_id @ IF EXIT THEN
   GetCurrentThreadId trayface_on_id !
   S" новая иконка для запуска" 32512 0 LoadIconA ADD-TI bmicon_id !
   ['] BMMenu bmicon_id @ ->CLASS TrayIcon OnRB ! \ щелчок правой кнопкой мыши
\   ['] BMMenu bmicon_id @ ->CLASS TrayIcon OnLB ! \ щелчок левой кнопкой мыши
   ['] def-item-action bmicon_id @ ->CLASS TrayIcon On2LB ! \ двойной щелчок левой кнопкой мыши
   MessageLoop
   bmicon_id @ DEL-TI
)#

#( trayface_off
\ отключение дополнительной иконки
 NoActive
WINAPI: OpenThread KERNEL32.DLL
Action:
trayface_on_id @
?DUP
IF
0 1 OpenThread ?DUP
   IF
   STOP
   THEN
THEN
bmicon_id @ DEL-TI
0 trayface_on_id !
)#

P.S.
Code: Select all
#( CLASSIC-TASK-#-сменить-хинт
\ смена всплывающей подсказки у значка nncron
HyperActive
SingleInstance
NoLog
\ RunOnce NoDel
Action:
S" Task scheduler by nnSoft!!%crlf%  http://www.nncron.ru" EVAL-SUBST set-tray-text
)#
Last edited by AlikasS on Thu, 02 Feb 2012, 11:32, edited 3 times in total.
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Иконка в трее

Postby trvi » Wed, 06 Feb 2008, 11:35

Все хорошо! А можно чтобы эта новая иконка в трее, "кликая" на нее правой кнопкой мыши давала такое же меню как и nncron?
trvi
 
Posts: 162
Joined: Tue, 27 Nov 2007, 12:54

Re: Иконка в трее

Postby AlikasS » Wed, 06 Feb 2008, 14:56

поищи в исходниках фразу
Code: Select all
21 RES MI_WINSPY MENUITEM
там как раз идет организация меню nnCron.
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Иконка в трее

Postby Morituruz » Wed, 18 Apr 2012, 19:16

Можно ли создать меню для своей иконки на основе списка от плагина Lists от VoidVolker-а?
Т.е. собирать список
Code: Select all
menuitems[
" first menu item"
" second menu item"
]menuitems

И потом создать меню, с заданным действием на каждый пункт?
Ещё нужно, чтобы можно было динамически обновлять это меню.
Это всё возможно?
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Иконка в трее

Postby VoidVolker » Wed, 18 Apr 2012, 19:50

Да, возможно. Будет время - поразмышляю.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest