Что нового

[Элементы GUI] Иконки в меню в трее

simca

Новичок
Сообщения
5
Репутация
0
Первый раз столкнулся с AutoIt буквально в начале этой недели - штука класс. Короче нужно было сделать менюшку в трее. Все хорошо, но вот не смог добавить значков к пунктам меню. Поискал на оф.сайте, но конкретного ничего не нашел. Может кто нибудь решал подобную задачу. Было бы интересно услышать как...
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
simca
значков имеется в виду иконок?
http://www.autoitscript.com/forum/topic/20967-guitray-menu-with-icons-and-colors/
 
Автор
simca

simca

Новичок
Сообщения
5
Репутация
0
[Элементы GUI] Re: [Элементы GUI] Иконки в меню в трее

Kaster сказал(а):
simca
значков имеется в виду иконок?
http://www.autoitscript.com/forum/topic/20967-guitray-menu-with-icons-and-colors/
Ну да, это я смотрел, но даже с переводчиком не понял как это делается. Пробывал код скаченного компилировать, но безуспешно.
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Иконки в трее только на Vista, ну и наверняка на Seven...
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Viktor217
а скрины тогда в той теме откуда?
 
Автор
simca

simca

Новичок
Сообщения
5
Репутация
0
В ХР работает. Вот эта штука:
Код:
#include <ModernMenuRaw.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#NoTrayIcon

$hwnd = GUICreate("Test ", 200, 100, -1, -1)

$Label1 = GUICtrlCreateLabel("Today is: "&@YEAR&@MON&@MDAY, 10, 10)
$Label2 = GUICtrlCreateLabel("This is a test.", 10, 40)

$Button1=GUICtrlCreateButton("Change",20,70,60,25)

GUISetState()

$nTrayIcon1 = _TrayIconCreate("Test", "shell32.dll", -40)
_TrayIconSetClick($nTrayIcon1, 16)
_TrayIconSetState()
$bUseAdvTrayMenu = FALSE
$nTrayMenu1 = _TrayCreateContextMenu() 
$nSideItem3 = _CreateSideMenu($nTrayMenu1)
_SetSideMenuText($nSideItem3, "Test")
_SetSideMenuColor($nSideItem3, 0x00FFFF) 
_SetSideMenuBkColor($nSideItem3, 0x802222)
_SetSideMenuBkGradColor($nSideItem3, 0x4477AA) 

$help= _TrayCreateItem("Help")
    _TrayItemSetIcon($help , "shell32.dll", -15)
$About  = _TrayCreateItem("About")
    _TrayItemSetIcon($About, "shell32.dll", -25)

$TrayExit       = _TrayCreateItem("Exit")
    _TrayItemSetIcon($TrayExit, "shell32.dll", -28)

_TrayIconSetState()



While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            _TrayIconDelete($nTrayIcon1)
            Exit
        Case $msg = $Button1
            _new()
        Case $msg = $TrayExit
            _TrayIconDelete($nTrayIcon1)
            Exit
    EndSelect
WEnd

Func _new()
    GUICtrlSetState($Label1,$GUI_Hide)
    GUICtrlSetState($Label2,$GUI_Hide)

    $Label3 = GUICtrlCreateLabel(@OSVersion&@OSServicePack, 10, 10)
    $Label4 = GUICtrlCreateLabel(@OSBuild, 10, 40)
EndFunc

_TrayIconDelete($nTrayIcon1)
но у меня никак не получается сделать так чтобы не было окна, а только меню в трее. Точнее совсем вырезать код окна, но не скрыть его.
 

Fever

Скриптер
Сообщения
308
Репутация
112
simca

Код:
#include <ModernMenuRaw.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
#NoTrayIcon

$nTrayIcon1 = _TrayIconCreate("Test", "shell32.dll", -40)
_TrayIconSetClick($nTrayIcon1, 16)
_TrayIconSetState()
$bUseAdvTrayMenu = FALSE
$nTrayMenu1 = _TrayCreateContextMenu() 
$nSideItem3 = _CreateSideMenu($nTrayMenu1)
_SetSideMenuText($nSideItem3, "Test")
_SetSideMenuColor($nSideItem3, 0x00FFFF) 
_SetSideMenuBkColor($nSideItem3, 0x802222)
_SetSideMenuBkGradColor($nSideItem3, 0x4477AA) 

$help= _TrayCreateItem("Help")
    _TrayItemSetIcon($help , "shell32.dll", -15)
$About  = _TrayCreateItem("About")
    _TrayItemSetIcon($About, "shell32.dll", -25)

$TrayExit       = _TrayCreateItem("Exit")
    _TrayItemSetIcon($TrayExit, "shell32.dll", -28)

_TrayIconSetState()



While 1
    Switch GUIGetMsg()
        Case $TrayExit
            _TrayIconDelete($nTrayIcon1)
            Exit
    EndSwitch
WEnd
 
Автор
simca

simca

Новичок
Сообщения
5
Репутация
0
Спасибо за помощь :beer:
 
Автор
simca

simca

Новичок
Сообщения
5
Репутация
0
еще небольшой вопрос, пытаюсь добавить подсказу _TrayTip после _TrayIconSetState(), типа такого:
Код:
_TrayTip("Поздравляем!", "Программа успешно запущена.", 5, 1)
но ничего не происходит, в смысле подсказка не выскакивает. В чем может быть проблема?

а-а-а разобрался нужно было сделать так:
Код:
_TrayTip($nTrayIcon1, "Поздравляем!", "Программа успешно запущена.", 5, 1)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
simca,
Код:
;...
_TrayTip($nTrayIcon1, "Поздравляем!", "Программа успешно запущена.", 5, 1)
;...
 

Bloodrinker

<Блуждающий...>
Сообщения
228
Репутация
19
Странно... на win7 x64 вообще все неадекватно работает...не могу понять почему, если откомпилить под обычный x86 и запустить все гуд.
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Bloodrinker сказал(а):
Странно... на win7 x64 вообще все неадекватно работает...не могу понять почему, если откомпилить под обычный x86 и запустить все гуд.
Для семёрки где-то выкладывали хороший способ, поищи(=
 

Bloodrinker

<Блуждающий...>
Сообщения
228
Репутация
19
какой хороший способ еще? ткни если несложно...
 

`p r o x y

«Улыбайтесь, господа!»
Команда форума
Глобальный модератор
Сообщения
596
Репутация
157
simca
Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, Модератор форума.






simca [?]
добавить значков к пунктам меню
[?]
еще небольшой вопрос, пытаюсь добавить подсказу _TrayTip после _TrayIconSetState()

{TopicSolvedInfo}
 
Верх