Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: 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 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
14-1083837700
syte_ser78
2004-05-06 14:01
2004.05.23
Исходник текстового окна со скротол


3-1082018541
ev
2004-04-15 12:42
2004.05.23
Сортировка полей в DBGrid по клику на заголовок?


7-1080630837
AS_dm
2004-03-30 11:13
2004.05.23
работа с веб-камерой через usb


1-1083760199
Goida
2004-05-05 16:29
2004.05.23
Когда в Delphi появится....


1-1084115984
KLAUS
2004-05-09 19:19
2004.05.23
НУжно просто навсего удалить файл