![]() |
Цитата:
|
seriousstas
Посмотри мой прошлый пост я там видос снял как воркает при ручном вводе... Сейчас соберу код в кучу и выложу тут с примером на две кнопки в панели ДСП... Пример переключения в панели ДСП... две кнопки ------------------------------------------------------ // 2 new TextButton(0, 0, bw, bh, font, dev ? g_color_on : g_color_off, device_name, function () { dev = true; dev2 = false; window.SetProperty("Device ON",dev); window.SetProperty("Device2 ON",dev2); window.GetProperty("Device ON"); window.GetProperty("Device2 ON"); if(utils.IsKeyPressed(0x11)){ var device_name = window.GetProperty("Device Name"); var ddd = input_box(p_text, d_text, w_title); window.SetProperty("Device Name",ddd); fb.trace("Device Name : "+ddd) }else{ var device_name = window.GetProperty("Device Name"); fb.RunMainMenuCommand("Playback/Device/" + device_name); recalc_dimensions(); } }), // 3 new TextButton(bw, 0, bw, bh, font, dev2 ? g_color_on : g_color_off, device_name2, function () { dev = false; dev2 = true; window.SetProperty("Device2 ON",dev2); window.SetProperty("Device ON",dev); window.GetProperty("Device ON"); window.GetProperty("Device2 ON"); if(utils.IsKeyPressed(0x11)){ var device_name2 = window.GetProperty("Device Name2"); var ddd2 = input_box(p_text, d_text, w_title); window.SetProperty("Device Name2",ddd2); fb.trace("Device Name : "+ddd2) }else{ var device_name2 = window.GetProperty("Device Name2"); fb.RunMainMenuCommand("Playback/Device/" + device_name2); recalc_dimensions(); }; }), ------------------------------------------------------ это дописать в конце скрипта var device_name = window.GetProperty("Device Name","Первичный звуковой драйвер"); var device_name2 = window.GetProperty("Device Name2","Null output"); var dev = window.GetProperty("Device ON"); var dev2 = window.GetProperty("Device2 ON"); var p_text ="Выбор Устройтва Вывода"; var w_title ="Output Device"; var d_text =""; function input_box(p_text, d_text, w_title){ vbe = new ActiveXObject('ScriptControl'); vbe.Language = 'VBScript'; return vbe.eval( "InputBox(\"" + p_text + "\",\"" + w_title + "\",\"" + d_text + "\")"); } :rolleyes2: ----------------------------- забыл сказать, в видосе не видно, но диалог ввода открывается по Ctrl + кнопка(из примера), простое нажатие по этой же кнопке переключает введенное в диалоге устройство. device_name --- пишет на кнопке название введенного в диалоге устройства №1 device_name2 --- пишет на кнопке название введенного в диалоге устройства №2 переключатель состояния вкл/выкл устройства на кнопке dev = true; --- вкл и выкл индикацию состояния устройства на кнопке dev2 = false; --- ---//--- ... |
Цитата:
Вчера в Генин скрипт с Твоими кнопками добавил авто-переключение языка текста . Кнопку переключения убрал . Она не нужна совсем - кроме переключения автоматом есть и двойной клик , который Ты делал ... Убрал и кнопку поднятия текста - повесил на двойной клик "по шапке" )) Всего 8 кнопок получилось . Норм. Если всё будет гладко до утра будет 4Icar_13_5_MPS_UNI :yes4: |
seriousstas
Да я тоже подумал и решил что так будет проще и вводить и переключать ;) Молодцом :good: Цитата:
Цитата:
Правильно, так и нужно, если нашел удобный вариант использования объектов в скрипте почему и не переделать по другому. Цитата:
|
Цитата:
если нет русского - грузит инглиш . Если нужен инглиш при найденном русском - просто двойной клик по тексту ... Сейчас убегаю ... Все буду собирать в полночь :) |
seriousstas
Ок понял... ...подождем полночи :vampire: ------------------ пост с примером скрипта чуть позже обновлю, добавил индикацию переключения на устройства... теперь будет видно что включено. |
Давно думал про переключалку вывода , поэтому со сборкой задержусь немного ..
duzzy 1.Если последний вариант - нужен релоад здесь для немедленного отображения введённого : Код:
if(utils.IsKeyPressed(0x11)){ 3 .Кнопка всё-таки пусть отображает одно общее название, например (тогда первый пункт не актуален) : DS WASAPI DSD : WASAPI или ASIO иначе на кнопке "каша" из-за длинного имени (а введённое название пусть уходит в "свойства"). Так кстати и было сделано первначально через case 1,2,3... Поправишь ? и возможно получится отображать введённое ранее (при вызове окна) , хотя сомневаюсь .. да , и по дефолту "Первичный звуковой драйвер" не заработает , добавь DS : |
seriousstas
Не торопись главное чтоб все работало как хочется ;) 1. А зачем там релоад ? 2. Обнуляются или что то другое ? 3. Тут выбор не велик:) могу предложить только ручной ввод через Пропертиз. Цитата:
|
1. А без него не обновляется кнопка после ввода.
Только если-зайти-выйти из пропертиз или после рестарта . 2. "Обнуляются" на Твои дефолтные (что при первой установке скрипта) 3. Так больше и не нужно , можно и вообще без пропертиз . Сразу прописать, что будет поверх (хотя первый удобнее ..) . Сунеш команды из кнопки в case ? |
seriousstas
1. релоадом решил работает без него. 2. обнуление убрал, прошлое устройство тоже теперь показывает при вводе... вот так... http://jpegshare.net/thumbs/c8/8c/c8...2e5421a036.jpg 3. так там же просто берется название из Пропертис... смотри... это кнопка жирным синим отметил переменную текста на кнопке, ее нужно просто заменить в скрипте на ту что была до нее, в этой кнопке это dsp_2 //2 new TextButton(0, 0, bw, bh, font, dev ? g_color_on : g_color_off, device_name, function () {...} в //3 кнопке это dsp_3 вот новый вариант... в рекалк добавишь это(нужно для обновления переменной и отображения обновленного названия на кнопке)... function recalc_dimensions() { ww = window.Width; wh = window.Height; dsp = window.GetProperty("dsp"); device_name = window.GetProperty("Device Name"); device_name2 = window.GetProperty("Device Name2"); ............. далее.... пример из двух кнопок... // 2 new TextButton(0, 0, bw, bh, font, dev ? g_color_on : g_color_off, device_name, function () { dev = true; dev2 = false; window.SetProperty("Device ON",dev); window.SetProperty("Device2 ON",dev2); window.GetProperty("Device ON"); window.GetProperty("Device2 ON"); if(utils.IsKeyPressed(0x11)){ device_name = window.GetProperty("Device Name"); var nl = "\" + chr(10) + \""; var ddd = input_box(p_text + nl + nl +device_name, device_name, w_title); if(ddd == undefined){ window.SetProperty("Device Name",device_name); }else{ window.SetProperty("Device Name",ddd); recalc_dimensions(); }; fb.trace("Device Name : "+ddd) }else{ var device_name = window.GetProperty("Device Name"); fb.RunMainMenuCommand("Playback/Device/" + device_name); recalc_dimensions(); } }), // 3 new TextButton(bw, 0, bw, bh, font, dev2 ? g_color_on : g_color_off, device_name2, function () { dev = false; dev2 = true; window.SetProperty("Device2 ON",dev2); window.SetProperty("Device ON",dev); window.GetProperty("Device ON"); window.GetProperty("Device2 ON"); if(utils.IsKeyPressed(0x11)){ device_name2 = window.GetProperty("Device Name2"); var nl = "\" + chr(10) + \""; var ddd2 = input_box(p_text + nl + nl +device_name2, device_name2, w_title); if(ddd2 == undefined){ window.SetProperty("Device Name2",device_name2); }else{ window.SetProperty("Device Name2",ddd2); recalc_dimensions(); }; fb.trace("Device Name : "+ddd2) }else{ var device_name2 = window.GetProperty("Device Name2"); fb.RunMainMenuCommand("Playback/Device/" + device_name2); recalc_dimensions(); }; }), трэйс(fb.trace) можешь убрать он не нужен для работы жирным синим отметил переменную текста на кнопке, ее нужно просто заменить в скрипте на ту что была до нее, во //2 кнопке это dsp_2 в //3 кнопке это dsp_3 ... |
Часовой пояс GMT +4, время: 17:24. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot