на главную предыдущая страница следующая страница

Меню

Создание меню - важное умение для написания плагина.

Для начала инициализируем структуру - пункты меню:

struct FarMenuItem shMenu[4] = {};
shMenu[0].Text = GetMsg(MenuName1);
shMenu[1].Text = GetMsg(MenuName2);
shMenu[2].Text = GetMsg(MenuName3);
shMenu[3].Text = GetMsg(MenuName4);

Про GetMsg(MenuName4) было сказано выше

 

Далее, отображаем меню на экране.

int Ret;
Ret=Info.Menu(&MainGuid, &MainGuid,-1,-1,0,FMENU_WRAPMODE,GetMsg(MTitle),NULL,HelpTopic[0],NULL,NULL,shMenu,ARRAYSIZE(shMenu));
switch (Ret) {

case 0:
showInfoMenu();
break;
case 1:
showKeyMenu();
break;
case 2:
showEncriptionMenu();
break;
case 3:
showSignMenu();
break;

}

Краткое описание:

int WINAPI Menu(

  • INT_PTR Guid,
  • INT_PTR PluginNumber,
  • int X,
  • int Y,
  • int MaxHeight,
    DWORD Flags,
  • const wchar_t *Title,
  • const wchar_t *Bottom,
  • const wchar_t *HelpTopic,
  • const int *BreakKeys,
  • int *BreakCode,
  • const struct FarMenuItem *Item,
  • int ItemsNumber

);

Подробное описание Но не забываем, что в энциклопедии есть неточности - она для версии 2.0