Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: How to make WSH panel rollover button? (Read 2100 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

How to make WSH panel rollover button?

I am making columnsUI skin, but I have a problem.
How to make WSH panel rollover menu button?

here is my code. please help me....

sorry for my poor english...

Code: [Select]
function RGB(r,g,b,a){ return ((a<<24)|(r<<16)|(g<<8)|(b)); }
var imgh = gdi.image(fb.FoobarPath+"Skins\\shootke\\btn-menuh.png");
var img = gdi.image(fb.FoobarPath+"Skins\\shootke\\btn-menu.png");

function on_paint(gr){
    gr.SetInterpolationMode(7);
    gr.DrawImage(img,0,0,83,55,0,0,83,55);
    }
window.Repaint();

function on_mouse_move(x,y) {
}
function on_mouse_leave() {
}

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;

function on_mouse_lbtn_up(x, y) {

    var basemenu = window.CreatePopupMenu();
    var contextman = fb.CreateContextMenuManager();
    
    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 child7 = window.CreatePopupMenu(); //Now playing
    
    var menuman1 = fb.CreateMainMenuManager();
    var menuman2 = fb.CreateMainMenuManager();
    var menuman3 = fb.CreateMainMenuManager();
    var menuman4 = fb.CreateMainMenuManager();
    var menuman5 = fb.CreateMainMenuManager();
    var menuman6 = fb.CreateMainMenuManager();

    basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child1.ID, "File");
    basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child2.ID, "Edit");
    basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child3.ID, "View");
    basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child4.ID, "Playback");
    basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child5.ID, "Library");
    basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child6.ID, "Help");
    basemenu.AppendMenuItem(MF_STRING | MF_POPUP, child7.ID, "Now Playing");

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

    menuman1.BuildMenu(child1, 1, 200);
    menuman2.BuildMenu(child2, 201, 200);
    menuman3.BuildMenu(child3, 401, 200);
    menuman4.BuildMenu(child4, 601, 300);
    menuman5.BuildMenu(child5, 901, 300);
    menuman6.BuildMenu(child6, 1201, 100);

    contextman.InitNowPlaying();
    contextman.BuildMenu(child7, 1301, -1);
    ret = 0;

    ret = basemenu.TrackPopupMenu(x, y);

    // fb.trace(ret);
    switch (true)
    {
    case (ret >= 1 && ret < 201):
        menuman1.ExecuteByID(ret - 1);
        break;

    case (ret >= 201 && ret < 401):
        menuman2.ExecuteByID(ret - 201);
        break;

    case (ret >= 401 && ret < 601):
        menuman3.ExecuteByID(ret - 401);
        break;
    
    case (ret >= 601 && ret < 901):
        menuman4.ExecuteByID(ret - 601);
        break;
    
    case (ret >= 901 && ret < 1201):
        menuman5.ExecuteByID(ret - 901);
        break;
    
    case (ret >= 1201 && ret < 1301):
        menuman6.ExecuteByID(ret - 1201);
        break;
    
    case (ret >= 1301):
        contextman.ExecuteByID(ret - 1301);
        break;
    }

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