Тема: iCarDS+Foobar2000
Показать сообщение отдельно
Старый 14.05.2013, 02:01   #363
onv23
Старший Пользователь
 
Регистрация: 17.08.2011
Возраст: 65
Город: Харьков
Регион: Украина
Машина: Honda CR-V III
Сообщений: 198
onv23 is on a distinguished road
По умолчанию

Его зону чувствительности на нажатие можно просто укоротить, тогда повторное нажатие на кнопку возврата не будет анализироваться. Для этого скрипт регулятора громкости нужно поменять целиком на этот
Код:
// vi:set ft=javascript ff=dos ts=4 sts=4 sw=4 et:

// ==PREPROCESSOR==
// @name "Volbar with GdiDrawText"
// @author "T.P Wang"
// ==/PREPROCESSOR==

// Flags, used with GdiDrawText
// For more information, see: http://msdn.microsoft.com/en-us/libr...98(VS.85).aspx
var DT_TOP = 0x00000000;
var DT_LEFT = 0x00000000;
var DT_CENTER = 0x00000001;
var DT_RIGHT = 0x00000002;
var DT_VCENTER = 0x00000004;
var DT_BOTTOM = 0x00000008;
var DT_WORDBREAK = 0x00000010;
var DT_SINGLELINE = 0x00000020;
var DT_EXPANDTABS = 0x00000040;
var DT_TABSTOP = 0x00000080;
var DT_NOCLIP = 0x00000100;
var DT_EXTERNALLEADING = 0x00000200;
var DT_CALCRECT = 0x00000400;
var DT_NOPREFIX = 0x00000800;
var DT_INTERNAL = 0x00001000;
var DT_EDITCONTROL = 0x00002000;
var DT_PATH_ELLIPSIS = 0x00004000;
var DT_END_ELLIPSIS = 0x00008000;
var DT_MODIFYSTRING = 0x00010000;
var DT_RTLREADING = 0x00020000;
var DT_WORD_ELLIPSIS = 0x00040000;
var DT_NOFULLWIDTHCHARBREAK = 0x00080000;
var DT_HIDEPREFIX = 0x00100000;
var DT_PREFIXONLY = 0x00200000;

//function RGB(r, g, b) {
//    return (0xff000000 | (r << 16) | (g << 8) | (b));
//}
function RGBA(r, g, b, a) {r &= 0xff; g &= 0xff; b &= 0xff; a &= 0xff; return ((a << 24) | (r << 16) | (g << 8) | (b));}
UIHacks = new ActiveXObject("UIHacks");
var WshShell = new ActiveXObject("WScript.Shell"); 
var r_font = window.Height / 2;
var g_font = gdi.Font("Tahoma", r_font, 0);
var g_font2 = gdi.Font("Tahoma", r_font * 2, 1);
var g_drag = 0;

function on_paint(gr) {

  var ww = window.Width*4/5;
  var wh = window.Height;
  var volume = fb.Volume;
  var pos = window.Width*4/5 * ((60 + volume) / 60);
  var txt = (Math.ceil(volume)) + " dB";
  var vv = pos/ww;
  var r_font = window.Height / 2;
  var g_font = gdi.Font("Tahoma", r_font, 0);
  var g_font2 = gdi.Font("Tahoma", r_font * 2, 1);
    gr.FillGradRect(0, 0, pos -12, wh/2, 90, RGBA(10, 15, 19, 100), RGBA(38, 60, 76, 100));
    gr.FillGradRect(0, wh/2, pos-12, wh/2, 90, RGBA(38, 60, 76, 100), RGBA(10, 15, 19, 100));
    gr.FillGradRect(pos-12, 0, 12, wh/2, 90, RGBA(10, 15, 19, 100), RGBA(57, 90, 114, 100));
    gr.FillGradRect(pos-12, wh/2, 12, wh/2, 90, RGBA(57, 90, 114, 100), RGBA(10, 15, 19, 100));
    gr.FillGradRect(pos, 0, ww-pos, wh/2, 90, RGBA(10, 15, 19,100), RGBA(38, 60, 76,100)); 
    gr.FillGradRect(pos, wh/2, ww-pos, wh/2, 90, RGBA(38, 60, 76,100), RGBA(10, 15, 19,100));
    gr.GdiDrawText(txt, g_font, RGBA(0, 150, 200, 100), 0, 0, ww, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(0, 150, 200, 100), pos, -r_font/6, 4, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(0, 0, 0, 100), pos+4, -r_font/6, 2, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(0, 0, 0, 100), pos+14, -r_font/6, 2, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(180, 180, 180, 100), pos-13, -r_font/6, 1, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    gr.GdiDrawText("|", g_font2, RGBA(180, 180, 180, 100), pos-1, -r_font/6, 1, wh, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
    UIHacks.MasterVolume.Volume=vv;
}

function on_mouse_lbtn_down(x, y) {
if(x < window.Width*4/5) {g_drag = 1};
}

function on_mouse_lbtn_up(x, y) {
on_mouse_move(x, y);
    g_drag = 0;
}

function on_mouse_move(x, y) {
    
    if (g_drag) {
        var v = x / window.Width*5/4;
        v = (v < 0) ? 0 : (v < 1) ? v : 1;
        v = -60 * (1 - v);
        if (fb.Volume != v) fb.Volume = v;
        if (fb.Volume < -60) fb.Volume = -60;
           }
}

function on_mouse_wheel(delta) {
     if (delta > 0) fb.VolumeUp();
    else fb.VolumeDown();
    if (fb.Volume < -60) fb.Volume = -60;
}

function on_volume_change(val) {
window.Repaint();
}
__________________
CarPC 8" for Honda CR-V III
onv23 вне форума   Ответить с цитированием