Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обработчик выбора пункта PopupMenu [D7, WinXP]


Prov ©   (2005-09-07 12:12:00) 

Доброе время суток, господа. Нарисовал маленькое попап меню.
procedure ShowPopupMenu;
 var lpPoint: TPoint;
begin
 PopupMenu:= CreatePopupMenu;
 AppendMenu(PopupMenu, MF_STRING or MF_GRAYED, 0, 'm e n u');
 AppendMenu(PopupMenu, MF_SEPARATOR, 0, '');
 AppendMenu(PopupMenu, MF_STRING, 0, 'Пункт меню');
 GetCursorPos(lpPoint);
 TrackPopupMenu(PopupMenu, TPM_RETURNCMD, lpPoint.X, lpPoint.Y, 0, Handle, nil);
end;

В МСДН написано, что при указании флага TPM_RETURNCMD функция будет возвращать номер выбранного элемента и т.д. Не подскажите ли Вы мне, как забрать результат нажатия левой кнопки мыши на моем меню ? Что-то я сам не могу разобраться. Заранее спасибо )


Prov   (2005-09-07 12:35:00) [1]

:) так просто. Спасибо большое. Что-то я пропустил этот момент.


ShiFT   (2005-09-07 12:21:00) [2]

const
miID1 = 1;
miID2 = 2;
.....
 AppendMenu(PopupMenu, MF_STRING, miID1, 'Пункт меню 1');
 AppendMenu(PopupMenu, MF_STRING, miID2, 'Пункт меню 2');
.....
function WindowProc( wnd : HWND; Msg : Integer; WParam : WParam; LParam : Longint): Longint; stdcall;
.....
 case msg of
   WM_COMMAND : case LoWord(wParam) of
      miID1 : ; //ТутВыполнйТоЧтоТебеНадо
      miID2: ; //ТутВыполнйТоЧтоТебеНадо
   end;
 else
   Result := DefWindowProc( wnd, msg, wparam, lparam);
 end;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо