
21.03.2009, 07:01
|
|
Новичок
Регистрация: 20.03.2009
Сообщений: 13
С нами:
9023197
Репутация:
0
|
|
Димнамическое меню
Доброго времени суток!!! Подскажите пожалуйста, каким образом можно выдернуть caption строки из динамического контекстного меню? Оч надо!!!!!!!!!! Заранее спасибо.
|
|
|

21.03.2009, 11:48
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Тебе нужно знать дискриптор этого меню. Если знаешь то просто всё.
Код:
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 - будет дискриптором вложенного меню, с которым делаешь всё также что и с предыдущем.
Главное чтобы твоё меню было уже вызвано. т.е. вызываешь его, находиш его дискриптор и вперед
|
|
|

21.03.2009, 11:53
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
P.S. т.е. меню динамическое, то и заполняется при своём появлении, так что дискрипторы будут разные всегда.
|
|
|

21.03.2009, 13:45
|
|
Новичок
Регистрация: 20.03.2009
Сообщений: 13
С нами:
9023197
Репутация:
0
|
|
slesh, Спасибо те! Помог здорово!
|
|
|

21.03.2009, 13:51
|
|
Новичок
Регистрация: 20.03.2009
Сообщений: 13
С нами:
9023197
Репутация:
0
|
|
Еще вопрос. Как во время открытия динамического меню, проверить базу на наличие данных в ячейке?
|
|
|

21.03.2009, 13:54
|
|
Новичок
Регистрация: 20.03.2009
Сообщений: 13
С нами:
9023197
Репутация:
0
|
|
и если ячейка не пуста, тогда отметиь пункт меню(TMenuItem.checked)???
|
|
|

21.03.2009, 20:56
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Сообщение от Vitaliy-55
и если ячейка не пуста, тогда отметиь пункт меню(TMenuItem.checked)???
CheckMenuItem юзай
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|