<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK:  Меню в трее, создание под подменю.]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8847</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8847&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK:  Меню в трее, создание под подменю.».]]></description>
		<lastBuildDate>Fri, 01 Nov 2013 04:21:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76777#p76777</link>
			<description><![CDATA[<p>Да, про 5000 строк это лишнее, просто я думал что ошибка из-за того что я инициализирую меню раньше чем было что определено, т.е. метки.<br />Оказалось дело совсем в другом.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Fri, 01 Nov 2013 04:21:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76777#p76777</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76776#p76776</link>
			<description><![CDATA[<p>А что это меняет? Я возразил на вполне конкретный ваш аргумент по поводу 5000 строк.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 01 Nov 2013 04:07:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76776#p76776</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76775#p76775</link>
			<description><![CDATA[<p>Ну так я описал же в чем, в названии метки для субменю, метка должна оканчиваться на <strong>Submenu</strong> </p><div class="quotebox"><cite>Indomito пишет:</cite><blockquote><p>Ошибка была не в названии и не в расположении метки, а в постфиксе <strong>Submenu</strong> ... надо писать МояМетка<strong>Submenu</strong> и не надо после него писать <strong>return</strong> А в справке об этом ни слова или я плохо смотрел.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Fri, 01 Nov 2013 03:19:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76775#p76775</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76774#p76774</link>
			<description><![CDATA[<div class="quotebox"><cite>Indomito пишет:</cite><blockquote><p>Я бы дал, но около 5000 строк... не думаю, что тебе захочется разбираться.</p></blockquote></div><p>А зачем эти 5000 строк? Если без них меню работает, значит всё с ним нормально и проблема в другом месте.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 01 Nov 2013 03:01:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76774#p76774</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76770#p76770</link>
			<description><![CDATA[<p>О как я ошибался - ошибка крылось в ином...<br />Использовав <em>device the Intellect</em> <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Я получил рабочий скрипт для подменю.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>goto leave_TrayASOS

fnTrayASOS()
{
global ;Установки трея для скрипта
      
  mcTray := &quot;ASOS_RES\Os_Settings_Gear.ico&quot;
    Menu1  := &quot;Справка&quot;
    Menu2  := &quot;Набор клавиши&quot;
      sMenu21 := &quot;Основные клавиши&quot;
      sMenu22 := &quot;Управление плеером&quot; 
    Menu3  := &quot;Выход&quot;
    
      Menu, tray, NoStandard                ; меню в трее будет не стандартным - своим
      Menu, Tray, Icon, %McTray%             ; Устанавливаем иконку
      
      ;Добавляем пункт меню по ПКМ
      Menu, tray, add, %Menu1%, HelpKey1     
      ;Добавляем пункт меню ввиде подменю по ПКМ  
      KeysSubmenu:          
        Menu, KeysSubmenu, add, %sMenu21%, KeyMain
        Menu, KeysSubmenu, add, %sMenu22%, KeyPlayrs
      Menu, tray, add, %Menu2%, :KeysSubmenu        
      
      ;Добавляем пункт меню по ПКМ
      Menu, tray, add, %Menu3%, lExitProc     
      
      ; Задаём свою выноску &quot;балон&quot;
      Menu, tray, tip, `n Обработка клавиш для: `n  - приложений `n  - игр `n  - и т.д. `n `n
      Menu, tray, default, %Menu1%  ; Этот пункт меню по умолчанию двойной щелчёк ЛКМ по иконке в трее для его вызова
      Menu, Tray, Click, 1          ; Переназначаем двойной на одиночный ЛКМ
 
Return
}

leave_TrayASOS:</code></pre></div></div></div><p> Ошибка была не в названии и не в расположении метки, а в постфиксе <strong>Submenu </strong></p><div class="quotebox"><blockquote><p>Постфикс - это значимая часть слова, которая находится после окончания или формообразовательного суффикса и служит для образования слов.</p></blockquote></div><p> <br />надо писать МояМетка<strong>Submenu </strong> и не надо после него писать <strong>return</strong> И в справке об этом ни слова или я плохо смотрел.</p><p>Аналогично, как пишется GUI</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>Gui, start:New , -resize -maximizebox -minimizebox +caption -Border +AlwaysOnTop +Owner
 Gui, start:font, s12
 Gui, start:Add, Text, x40 y40 w300 h280 +Center, %vTxt%
 Gui, start:Show, x400 y100 h100 w400
 sleep 3000
Return

startGuiClose:
 Gui, Destroy
Return</code></pre></div></div></div><p> Создав элемент/окно командой Gui, <strong>start</strong>:New.... все обработчики начинаются со слова start, как <strong>start</strong>GuiClose<br />Про GUI то я знал, но не думал что тут тоже самое, правда ключевое слово - окончание, то же странно.</p><br /><p>P.S. </p><div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Желательно бы код, который запустить можно было и узреть эту ошибку...</p></blockquote></div><p> Я бы дал, но около 5000 строк... не думаю, что тебе захочется разбираться. Вот главный (main) файл - </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>;-----Инициализация
; Скрипт не выгружается
#Persistent
; Запрет повторного запуска
#SingleInstance

;=============Секция подключения файлов
#Include c:\AHK\Include\                  ;  Устанавливаем путь к общим файлам
#Include PathUses.ahk
#Include C:\AHK\AllSystemOS\              ; Устанавливаем путь к файлам скрипта
#Include ResourceASOS.ahk                 ; Установка ресурсов скрипта
#Include VarScript.ahk                    ; Переменные/константы для скрипта и начальная инициализация
#Include HelpKey.ahk                      ; Справка по клавишам
#Include Games.ahk                        ; Управление играми
#Include AppStartUp.ahk                   ; Запуск приложений
#Include RunCon.ahk                       ; Запуск с консоли
;Тут писать новые подключаемые файлы к скрипту.
#Include EventManager.ahk                 ; Менеджер событий
#Include InitASOS.ahk                     ; Инициализатор скрипта. Обязательно последняя в списке подключения!!!!
#Include TrayASOS.ahk
;=============Секция инициализации скрипта
Gosub InitASOS        ;Старт иницализации
fnPathUses()          ;Иницализация путей
fnResource()          ;Иницализация ресурсов скрипта
fnOverallSection()    ;Иницализация блока переменных
fn_arMainKeyInit()
; Тут дописывать нужные иницализации.
fnTrayASOS()          ;Cменить иконку скрипта  и меню скрипта. Обязательно тут перед завершение инициализации скрипта!
Gosub lCloseInitASOS  ;Завершение иницализации. Обязательно последний вызов после всех!
return
;============= </code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Thu, 31 Oct 2013 22:13:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76770#p76770</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76763#p76763</link>
			<description><![CDATA[<p>Разобрался, методом научного тыка. <br />Проблема была в порядке подключения файлов по <strong>#Include</strong>, т.е. пункты для трея, когда это касается почемуто подменю должны быть описаны раньше их применения, т.е. в скрипте <br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>;=====Cменить иконку скрипта  и меню скрипта
; Работа с ресурсами и иконкой
lTrey:
Menu1  := &quot;Справка&quot;
Menu2  := &quot;Переключение клавиши&quot;
sMenu21 := &quot;Oсновные горячие клавиши&quot;
sMenu22 := &quot;Пульт управления плеером&quot; 
Menu3  := &quot;Выход&quot;
sKeysOnOff:
      mcTray := &quot;ASOS_RES\Os_Settings_Gear.ico&quot;
      Menu, tray, NoStandard                ; меню в трее будет не стандартным - своим
      Menu, Tray, Icon, %McTray%             ; Устанавливаем иконку
      Menu, tray, add, %Menu1%, HelpKey1     ; добавляем пункт меню по ПКМ
      Menu, sKeyOnOff, add, %sMenu22%, KeyPlayrs
      Menu, sKeyOnOff, add, %sMenu21%, KeyMain      
      Menu, tray, add, %Menu2%, :sKeysOnOff    ; добавляем пункт меню ввиде подменю по ПКМ
      Menu, tray, add, %Menu3%, lExitProc     ; добавляем пункт меню по ПКМ
      ; Задаём свою выноску &quot;балон&quot;
      Menu, tray, tip, `n Обработка клавиш для: `n  - приложений `n  - игр `n  - и т.д. `n `n
      Menu, tray, default, Справка ; Этот пункт меню по умолчанию двойной щелчёк ЛКМ по иконке в трее для его вызова
      Menu, Tray, Click, 1 ; Переназначаем двойной на одиночный ЛКМ
Return</code></pre></div></div></div><p>Метки <strong>sKeysOnOff</strong> , <strong>KeyMain </strong> и <strong>KeyPlayrs</strong> хотя этого раньше не требовалось - странно как то и справке нет на это указания.<br />Ну с метками <strong>KeyMain </strong> и <strong>KeyPlayrs</strong> понятно что делать, я просто поменяю порядок подключения по <strong>#Include</strong> </p><p>А вот метка <strong>sKeysOnOff</strong> так она ничего не делает, просто интересно, а к ней то будет обращение?<br />Надо писать обработчик для неё или нет?</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Thu, 31 Oct 2013 15:58:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76763#p76763</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76762#p76762</link>
			<description><![CDATA[<p>Желательно бы код, который запустить можно было и узреть эту ошибку. А то того нет, этого нет и скрипт завершается.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Thu, 31 Oct 2013 15:55:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76762#p76762</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76761#p76761</link>
			<description><![CDATA[<p>И так после долгих мучений, я решил создать подменю, т.к. пункт будет увеличиваться и я написал подпрограмму, кторую вызываю после всех подключений файлов через <strong>#Include</strong> и назвал её <strong>lTrey</strong><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>; Работа с ресурсами и иконкой
lTrey:
sleep 3000 ; задержка для коррекции и синхронизации.
Menu1  := &quot;Справка&quot;
Menu2  := &quot;Переключение клавиши&quot;
sMenu21 := &quot;Oсновные горячие клавиши&quot;
sMenu22 := &quot;Пульт управления плеером&quot; 
Menu3  := &quot;Выход&quot;

      mcTray := &quot;ASOS_RES\Os_Settings_Gear.ico&quot;
      Menu, tray, NoStandard                ; меню в трее будет не стандартным - своим
      Menu, Tray, Icon, %McTray%             ; Устанавливаем иконку
      Menu, tray, add, %Menu1%, HelpKey1     ; добавляем пункт меню по ПКМ
      ;Menu, sKeyOnOff, add, %sMenu22%, KeyPlayrs
      ;Menu, sKeyOnOff, add, %sMenu21%, KeyMain      
      ;Menu, tray, add, %Menu2%, :sKeysOnOff    ; добавляем пункт меню ввиде подменю по ПКМ
      Menu, MySubmenu, add, Item1 
      Menu, tray, add, This Menu Item Is A Submenu, :MySubmenu      
      Menu, tray, add, %Menu3%, lExitProc     ; добавляем пункт меню по ПКМ
      ; Задаём свою выноску &quot;балон&quot;
      Menu, tray, tip, `n Обработка клавиш для: `n  - приложений `n  - игр `n  - и т.д. `n `n
      Menu, tray, default, Справка ; Этот пункт меню по умолчанию двойной щелчёк ЛКМ по иконке в трее для его вызова
      Menu, Tray, Click, 1 ; Переназначаем двойной на одиночный ЛКМ
MySubmenu:    
Return</code></pre></div></div></div><p> всё было бы замечательно, но она постоянно ругается, что метка <strong>MySubmenu</strong> не определена (это я уж с горя взял пример из справки думал я где то ошибся).<br />Так где надо поставить эту метку, что бы было правильно, я перебрал все варианты и до описания подменю и после и в самом начале скрипта, ошибка не пропадает и на строчке&nbsp; <strong>Menu, tray, add, This Menu Item Is A Submenu, :MySubmenu </strong> обработка прерывается, т.е. сл. пункта в меню уже нет, только висит <strong>Справка</strong>.</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Thu, 31 Oct 2013 15:01:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76761#p76761</guid>
		</item>
		<item>
			<title><![CDATA[AHK:  Меню в трее, создание под подменю.]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=76753#p76753</link>
			<description><![CDATA[<p>Есть такой скрипт(фрагмент)</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>; Работа с ресурсами и иконкой
sleep 3000 ; задержка для коррекции и синхронизации.
Menu1 := &quot;Справка&quot;
Menu2 := &quot;On/Off `n`n основные горячие клавиши&quot; 
Menu3 := &quot;Выход&quot;
;=====Cменить иконку скрипта  
      mcTray := &quot;ASOS_RES\Os_Settings_Gear.ico&quot;
      Menu, tray, NoStandard                ; меню в трее будет не стандартным - своим
      Menu, Tray, Icon, %McTray%             ; Устанавливаем иконку
      Menu, tray, add, %Menu1%, HelpKey1     ; добавляем пункт меню по ПКМ
      Menu, tray, add, %Menu2%, KeyOfASOSMain     ; добавляем пункт меню по ПКМ
      Menu, tray, add, %Menu3%, lExitProc     ; добавляем пункт меню по ПКМ
      ; Задаём свою выноску &quot;балон&quot;
      Menu, tray, tip, `n Обработка клавиш для: `n  - приложений `n  - игр `n  - и т.д. `n `n
      Menu, tray, default, Справка ; Этот пункт меню по умолчанию двойной щелчёк ЛКМ по иконке в трее для его вызова
      Menu, Tray, Click, 1 ; Переназначаем двойной на одиночный ЛКМ
;-------------------------------------------------------------</code></pre></div></div></div><p>В переменной <strong>Menu2</strong> очень длинный текст - уход за границы экрана.</p><p>Я попытался подать <strong>`n</strong> результат нулевой - как можно сделать перевод строки, форматирование всего меню или же просто смещение вверх и влево?</p><br /><p>Единственное что мне пришло в голову это сделать так: <br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>Menu2 := &quot;On/Off&quot;  
Menu2 := &quot;   Оосновные горячие клавиши&quot; 
Menu3 := &quot;Выход&quot;
      Menu, tray, add, %Menu2%, KeyOfASOSMain     ; добавляем пункт меню по ПКМ
      Menu, tray, add, %Menu20%, KeyOfASOSMain     ; добавляем пункт меню по ПКМ
      Menu, tray, add, %Menu3%, lExitProc     ; добавляем пункт меню по ПКМ
..........

</code></pre></div></div></div><p> Моё решение единственно правильное? Или можно сделать ещё как то?</p><p>И ещё, я не нашёл опции, которая задаёт горизонтальный размер выноски посимвольно, может плохо искал?</p><br /><p>P.S. Проверял орфографию и через Punto и увидел, подменю - может это и есть единственное решение проблемы?</p>]]></description>
			<author><![CDATA[null@example.com (Indomito)]]></author>
			<pubDate>Thu, 31 Oct 2013 12:31:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=76753#p76753</guid>
		</item>
	</channel>
</rss>
