結束!!!

gn01996745 wrote:
1.在抓中文歌詞的時...(恕刪)


我是用新版 Lyric Show Panel 3 的
在尋找歌詞時沒遇到問題
你可以試試
不過是英文的喔
下載連結
http://www.foobar2000.org/components/view/foo_uie_lyrics3

如果還是不行
把設定檔(foo_uie_lyrics3.dll.cfg)備份後刪除試試
已刪除已刪除已刪除已刪除已刪除已刪除
非常抱歉重複發文
m.o.v.e 大您好
我是 foobar 新手
請多多指教
第一次接觸 foobar
想自己改一個主題
但是遇到了些問題

想請問非常強的 m.o.v.e 大
可否請您教我功能表選單按鈕的 script
因為您一次把七個按鈕寫在一起
我太笨看了半天實在看不懂您在寫什麼
全部複製貼上又會出現錯誤(已排除圖片路徑與 Common.js 的問題)
希望您能幫忙
非常感謝!



另外有錯誤回報
在您中文化版本中的工具列(含您作的主題)
編輯 > 排序 > 排序按標題
會沒有反應
但是如果我用英文版
一切都很正常
麻煩大大檢查一下
謝謝^^

matif wrote:
回樓上的大大

第一...(恕刪)


感謝大大無私解答!!!
matif wrote:
m.o.v.e 大您...(恕刪)


腳本如下:
我另外改寫給你的3個按鈕腳本~
複製腳本貼上就可以了~
沒Common.js會出錯,
(要有Common.js跟guifx v2 transports 字型)

display_menu(5, 33); 是右鍵功能表的指令

對應最底下功能表的
function display_menu(x, y)
那一整串腳本.就是右鍵功能表選單~

最前面的虛線,跟最後的虛線不要複製~~
-----------------------------------------------------

// ==PREPROCESSOR==
// @import "%fb2k_profile_path%skins\Black Glass\scripts\Common.js"
// ==/PREPROCESSOR==

// tab buttons
var tab_off;
var tab_ov;
var tab_ov2;
var ww, wh;
var hand;

// Tooltips
var tooltip = window.CreateTooltip();
var show_tooltip = false;
var tooltip_array = Array("功能表", "最小化", "離開");

// tab buttons
var mybutton = Array(new button,new button,new button);

function on_init() {
var i;
init_buttons();
}
on_init();

function on_size() {
ww = window.Width;
wh = window.Height;
}

function on_paint(gr) {
var i;
for (i = 0; i < mybutton.length; i++) {
switch (i) {
case 0:
mybutton[i].draw(gr, 10, 0, 255, "");
break;
case 1:
mybutton[i].draw(gr, 35, 0, 255, "");
break;
case 2:
mybutton[i].draw(gr, 60, 0, 255, "");
break;
}
}
}

function on_mouse_lbtn_down(x, y) {
var i;

// tab buttons
for (i = 0; i < mybutton.length; i++) {
mybutton[i].checkstate("down", x, y, i);
}
show_tooltip = false;
}

function on_mouse_lbtn_up(x, y) {
var i;
for (i = 0; i < mybutton.length; i++) {
switch (i) {
case 0:
if (mybutton[i].checkstate("up", x, y)== mybutton[i].ButtonStates.hover) {
display_menu(5, 33);
}
break;
case 1:
if (mybutton[i].checkstate("up", x, y, i) == mybutton[i].ButtonStates.hover) {
fb.RunMainMenuCommand("檢視/隱藏");
}
break;
case 2:
if (mybutton[i].checkstate("up", x, y, i) == mybutton[i].ButtonStates.hover) {
fb.Exit();
}
break;
}
}
}

function on_mouse_move(x, y) {
var i;
hand = false;
// tab buttons
show_tooltip = false;
for(i=0;i<mybutton.length;i++) {
mybutton[i].checkstate("move", x, y, i);
if(mybutton[i].is_hover) {
hand=true;
show_tooltip = true;
if(tooltip.Text != tooltip_array[i]) {
tooltip.Deactivate();
tooltip.Text = tooltip_array[i];
}
}
}
// Mouse Cursor
window.SetCursor(hand? IDC_HAND : IDC_ARROW);
if(show_tooltip) {
tooltip.Activate();
} else {
tooltip.Deactivate();
tooltip.Text="";
}
}

function on_mouse_leave() {
var i;
show_tooltip = false;
if(tooltip.Text!="") {
tooltip.Deactivate();
tooltip.Text="";
}
// tab buttons
for(i=0;i<mybutton.length;i++) {
mybutton[i].checkstate("leave", 0, 0, i);
}
//window.Repaint();
}

function on_timer(id) {
var i;
// tab buttons
for (i = 0; i < mybutton.length; i++) {
mybutton[i].ontimer(id);
}
}

//=================================================// Menu functions
function display_menu(x, y) {

// Flags, used by Menu
var MF_SEPARATOR = 0x00000800;
var MF_ENABLED = 0x00000000;
var MF_GRAYED = 0x00000001;
var MF_DISABLED = 0x00000002;
var MF_UNCHECKED = 0x00000000;
var MF_CHECKED = 0x00000008;
var MF_STRING = 0x00000000;
var MF_POPUP = 0x00000010;
var MF_RIGHTJUSTIFY = 0x00004000;

var basemenu = window.CreatePopupMenu();
var contextman = fb.CreateContextMenuManager();

var ret;
var active_id;
var menu_count = 0;
var last_active_pl = fb.ActivePlaylist;

// reading options (from disk)

contextman.InitNowPlaying();

var child1 = window.CreatePopupMenu(); //File
var child2 = window.CreatePopupMenu(); //Edit
var child3 = window.CreatePopupMenu(); //View
var child4 = window.CreatePopupMenu(); //Playback
var child5 = window.CreatePopupMenu(); //Library
var child6 = window.CreatePopupMenu(); //Help

var menuman1 = fb.CreateMainMenuManager();
var menuman2 = fb.CreateMainMenuManager();
var menuman3 = fb.CreateMainMenuManager();
var menuman4 = fb.CreateMainMenuManager();
var menuman5 = fb.CreateMainMenuManager();

basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child1.ID, "檔案");
basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child2.ID, "編輯");
basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child3.ID, "檢視");
basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child4.ID, "播放");
basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child5.ID, "媒體櫃");

menuman1.Init("file");
menuman2.Init("edit");
menuman3.Init("View");
menuman4.Init("playback");
menuman5.Init("library");

menuman1.BuildMenu(child1, 1, 100);
menuman2.BuildMenu(child2, 100, 150);
menuman3.BuildMenu(child3, 200, 200);
menuman4.BuildMenu(child4, 300, 250);
menuman5.BuildMenu(child5, 400, 300);

ret = 0;
ret = basemenu.TrackPopupMenu(x, y);

switch (true)
{
case (ret >= 1 && ret < 100):
menuman1.ExecuteByID(ret - 1);
break;

case (ret >= 100 && ret < 200):
menuman2.ExecuteByID(ret - 100);
break;

case (ret >= 200 && ret < 300):
menuman3.ExecuteByID(ret - 200);
break;

case (ret >= 300 && ret < 400):
menuman4.ExecuteByID(ret - 300);
break;

case (ret >= 400 && ret < 500):
menuman5.ExecuteByID(ret - 400);
break;
}

basemenu.Dispose();
contextman.Dispose();
menuman1.Dispose();
menuman2.Dispose();
menuman3.Dispose();
menuman4.Dispose();
menuman5.Dispose();
}

function init_buttons() {
var i;
var gb;

tab_ov2 = gdi.CreateImage(19, 19);
gb = tab_ov2.GetGraphics();
gb.SetSmoothingMode(5);
gb.FillEllipse(1, 4, 16, 16, RGBA(220,220,220,10));
gb.FillEllipse(1, 3, 16, 16, RGBA(210,210,210,20));
gb.DrawEllipse(2, 4, 14, 14, 1.0, RGBA(20,20,20,20));
gb.DrawEllipse(1, 3, 16, 16, 1.0, RGBA(220,220,220,10));
var gui_font = gdi.Font("guifx v2 transports", 9, 0);
gb.SetTextRenderingHint(4);
gb.DrawString("4", gui_font, RGB(250, 250, 250, 250), 6, 8, ww, 9, l_stringformat);
gb.DrawString("4", gui_font, RGBA(0, 0, 0,250), 6, 7, ww, 9, l_stringformat);
tab_ov2.ReleaseGraphics(gb);

tab_off = gdi.CreateImage(19, 19);
gb = tab_off.GetGraphics();
gb.SetSmoothingMode(5);
gb.FillEllipse(1, 4, 16, 16, RGBA(220,220,220,0));
gb.FillEllipse(1, 3, 16, 16, RGBA(0,0,0,30));
gb.DrawEllipse(2, 4, 14, 14, 1.0, RGBA(25,25,25,0));
gb.DrawEllipse(1, 3, 16, 16, 1.0, RGBA(220,220,220,00));
var gui_font = gdi.Font("guifx v2 transports", 9, 0);
gb.SetTextRenderingHint(4);
gb.DrawString("4", gui_font, RGB(0, 0, 0, 200), 6, 8, ww, 9, l_stringformat);
gb.DrawString("4", gui_font, RGBA(230, 230, 230,250), 6, 7, ww, 9, l_stringformat);
tab_off.ReleaseGraphics(gb);

tab_ov = gdi.CreateImage(19, 19);
gb = tab_ov.GetGraphics();
gb.SetSmoothingMode(5);
gb.FillEllipse(1, 4, 16, 16, RGBA(220,220,220,0));
gb.FillEllipse(1, 3, 16, 16, RGBA(0,0,0,30));
gb.DrawEllipse(2, 4, 14, 14, 1.0, RGBA(25,25,25,0));
gb.DrawEllipse(1, 3, 16, 16, 1.0, RGBA(220,220,220,0));
var gui_font = gdi.Font("guifx v2 transports", 9, 0);
gb.SetTextRenderingHint(4);
gb.DrawString("4", gui_font, RGB(0, 0, 0, 250), 6, 8, ww, 9, l_stringformat);
gb.DrawString("4", gui_font, RGBA(250, 250, 250,220), 6, 7, ww, 9, l_stringformat);
tab_ov.ReleaseGraphics(gb);

for (i = 0; i < mybutton.length; i++) {
switch (i) {
case 0:
mybutton[i].create(tab_ov2, tab_off, tab_ov, "", -01);
break;
case 1:
mybutton[i].create(tab_ov2, tab_off, tab_ov, "", -02);
break;
case 2:
mybutton[i].create(tab_ov2, tab_off, tab_ov, "", -03);
break;
}
}
}

-------------------------------------------------------------



matif wrote:
m.o.v.e 大您...(恕刪)


另外排序中的標題,感謝回報問題,
我一直沒發現這個問題,
問題是出在主程式中,那一部份字串,最後面應該是要標題=%title%
結果因為字串長度不夠,變成標題=%tit
你到喜好設定,進階>標準排序範本:
看最後面就知道原因出在那了,
那部份是可以改的,將%tit改成%title%就行了~





我檢查主程式才發現到%tit字串少了le%,
以後中文化會注意這問題,


gn01996745 wrote:
1.在抓中文歌詞的時...(恕刪)


在播放清單點右鍵設定>行為>勾選>
當播放清單被變更時摺疊鎖有分組>
底下自動摺疊也勾選就可以了!
請問m.o.v.e 大大 黑色玻璃 X1可以再放大嗎~ 在win7下面整個介面很小 我只看到迷你化選項

m.o.v.e wrote:
腳本如下:我另外改寫...(恕刪)

m.o.v.e 大~
真的太感謝你了!
沒想到你居然把整個 script 都寫給我
雖然不知道為什麼我還是無法使用你的 script
我字型裝了、Common.js 也放在相同路徑還是不行
真是奇怪
不過為了感謝大大的幫忙
如果有新的元件需要幫忙中文化(ex. Channel Spectrum pane、Library Tree...)
可以問我
我會盡量幫你的 XD
用 Resource Hacker 應該可以中文化吧?
vrvr wrote:
請問m.o.v.e ...(恕刪)

切換到迷你模式點右鍵>內容

看到 X - (寬度) 跟 Y - (高度).填入你要的寬高比列,
那個就是主視窗的大小~
matif wrote:
m.o.v.e 大~...(恕刪)

檢查好幾次了,
不可能會出錯才對阿~
你不會是連前後的虛線一起複製進去WSH面板裡面吧~
------------------------ <<<

// <<在腳本裡面是代表註解的意思,
這樣不會出錯,
//-----------------------
這樣會出錯,
------------------------

我傳文件檔好了~
功能表腳本

不管是寫腳本還是改腳本(WSH)
最好能開啟檢視>控制台,
腳本如果有錯誤,控制台上面都會有記錄,
顯示那一行,那一句腳本有錯誤~

文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 208)

今日熱門文章 網友點擊推薦!