Вниз
Скачать: CL | DM;

Обновление меню   Найти похожие ветки 

← →
anod ©   (2004-04-06 23:37) [0]

Здраствуйте!
Пишу plugin для winamp: список песен playlist"a в меню.

Добавляю пункт в меню винампа, Обрабатываю событие WM_MENUSELECT,
if (LOWORD(WParam) = 19)and(LParam = hWAMenu) then begin
 CreateItems();
end;

по которому создаю динамически массив подменменю.
При наведении мышкой на одино подменю (тоже через WM_MENUSELECT) открывается ещё меню со списком песен.
Как-то запутвнно получилось...

WinAmp Menu(Songs) -> Items from 1 to 31 -> 1. ....

Обнавляю меню так:
procedure CreateItems();
var i,res,n:integer; tmp:string;
begin
 for i:= GetMenuItemCount(hPopUpMenu)-1 downto 0 do DeleteMenu(hPopUpMenu,i,MF_BYPOSITION);
 res:=SendMessage(plugin.hwndParent, WM_USER, 0, 124);
...
 SetLength(hItemsMenu,n+1);
 for i:= 0 to n-1 do begin
   hItemsMenu[i]:=CreateMenu();
   tmp:= "Items from "+IntToStr(i*30+1)+" to "+IntToStr(i*30+30);
   AppendMenu(hPopUpMenu,MF_STRING or MF_POPUP,hItemsMenu[i], PCHAR(tmp));
 end;
end;


Так как много песен, то обновление меню происходит очень заметно.
Как можно ускорить это?
К тому же хотелось бы, чтобы обновление происходило только при наведение на пункт в предыдущем меню, иногда вылезает глюк, когда при перемещении мышью а меню, оно начинает обновляться...

Спсибо.


← →
anod ©   (2004-04-06 23:38) [1]

Сколько ошибок :(


← →
anod ©   (2004-04-07 15:23) [2]

Люди, помогите избавиться от этого глюка:

обновление происходило только при наведение на пункт в предыдущем меню, иногда вылезает глюк, когда при перемещении мышью а меню, оно начинает обновляться...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
1-1084199356
glGLU
2004-05-10 18:29
2004.05.23
Edit & randomize


1-1084026172
t_killa
2004-05-08 18:22
2004.05.23
Позднее наследование


8-1078753292
max003
2004-03-08 16:41
2004.05.23
Вытащить JPEG из файла с картинками


7-1081233438
random
2004-04-06 10:37
2004.05.23
привод CD-Rom


8-1078568613
Pat
2004-03-06 13:23
2004.05.23
Сжатие звука по G723.1




   Наверх