Вниз
Скачать: 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.028 c
1-1083759506
1nDeX
2004-05-05 16:18
2004.05.23
TJPEGImage To String


1-1084277129
kot_phg
2004-05-11 16:05
2004.05.23
Как с OLE вытащить данные


1-1083872000
Lena19
2004-05-06 23:33
2004.05.23
размер буквы


8-1078996212
sergn
2004-03-11 12:10
2004.05.23
Растровый алгоритм эллипса


1-1083765374
rWizard
2004-05-05 17:56
2004.05.23
Создание директории (папки)




   Наверх