Просмотр полной версии : Димнамическое меню
Vitaliy-55
21.03.2009, 07:01
Доброго времени суток!!! Подскажите пожалуйста, каким образом можно выдернуть caption строки из динамического контекстного меню? Оч надо!!!!!!!!!! Заранее спасибо.
Тебе нужно знать дискриптор этого меню. Если знаешь то просто всё.
var
buf:array[0..255] of char;
menu:hmenu;
x,y:integer;
begin
menu:= дискриптор меню
y:=GetMenuItemCount(menu);
for x:=0 to y-1 do
begin
GetMenuString(menu,x,buf,256,mf_ByPosition);
memo1.lines.add(buf);
end;
Если нужно продолжить выдирать из вложеного меню, то делаешь
GetMenuItemInfo(Menu: HMenu; ID, Flags: Word; Info:TMenuItemInfo)ж
и тогда Info.hSubMenu - будет дискриптором вложенного меню, с которым делаешь всё также что и с предыдущем.
Главное чтобы твоё меню было уже вызвано. т.е. вызываешь его, находиш его дискриптор и вперед
P.S. т.е. меню динамическое, то и заполняется при своём появлении, так что дискрипторы будут разные всегда.
Vitaliy-55
21.03.2009, 13:45
slesh, Спасибо те! Помог здорово!
Vitaliy-55
21.03.2009, 13:51
Еще вопрос. Как во время открытия динамического меню, проверить базу на наличие данных в ячейке?
Vitaliy-55
21.03.2009, 13:54
и если ячейка не пуста, тогда отметиь пункт меню(TMenuItem.checked)???
и если ячейка не пуста, тогда отметиь пункт меню(TMenuItem.checked)???
CheckMenuItem юзай
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot