![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
добавление submenu в item popupmenu [D7, WinXP]
tradakad © (2004-12-28 16:35:00)Приветствую!
имеется меню.
hPopup:=CreatePopupMenu;
добавляю в него итем
AppendMenu(hPopup,MF_STRING,9,'test');
теперь создаю второе popupmenu и добавляю в него итем.
hPopup_test:=CreatePopupMenu;
AppendMenu(hPopup_test,MF_STRING,9,'test_test');
для того чтобы по нажатию на test открывалось второе меню делаю так.
procedure Popup_Vis;
begin
SetForegroundWindow(Handle);
GetCursorPos(cur_pos);
TrackPopupMenu(hPopup_vis,0,cur_pos.X,cur_pos.y,5,Handle,nil);
PostMessage(Handle,WM_NULL,0,0);
end;
function WindowProc(hwnd, msg, wparam, lparam:longint):longint;stdcall;
begin
Result:=DefWindowProc(hwnd,msg,wparam,lparam);
case Msg of
WM_COMMAND :
begin
if lparam=0 then
begin
case wparam of
9: Popup_Vis;
end;
end;
end;
end;
в приципе все работает за одним но. вернее за тремя..
1) хотелось бы чтобы пункт test после надписи (справа) имел такую стрелочку что означает что в нем есть подменю. как это сделать?
2) хотелось бы чтобы второе popupmenu открывалось по наведению курсора на надпись test а не по клику (но здесь думаю стоит повнимательнее почитать о WM_COMMAND)...
3) самое важное... по клику на test - (когда появляется второе меню) основное меню пропадает а я хочу чтобы оно оставалось..
Спасибо!
tradakad (2004-12-29 09:38:00) [1]AppendMenu(hPopup_test,mf_Popup,hPopup,'test_test');
- вот за это спасибо! ) это у меня то и не получалось ))
grom (2004-12-28 18:37:00) [2]//hPopupx:=createmenu; не надо
grom (2004-12-28 18:11:00) [3]winapi
hPopupx:=createmenu;
hPopup:=createmenu;
hPopup_test:=CreatePopupMenu;
insertmenu(hPopup,word(-1),mf_ByPosition,Wm_user+22,'testxx');
insertmenu(hPopup,word(-1),mf_ByPosition,Wm_user+21,'test');
AppendMenu(hPopup_test,mf_Popup,hPopup,'test_test');
tradakad (2004-12-28 17:18:00) [4]grom ты извини конечно.. но где я итем то возьму? мне что menus подключать? это же winapi и максимумум что я имею - это хендл менюхи (как я понимаю)...
grom (2004-12-28 16:50:00) [5]item.Add(submenu);