Возвращает идентификатор подменю, назначенного данному элементу меню.
MENUID _GetItemSubMenu(MENUID menuid, ITEMID itemid); MENUID menuid; /* Идентификатор меню */ ITEMID itemid; /* Идентификатор элемента меню */ |
Примечания
Подменю рассматривается как независимое меню. _GetItemSubMenu( ) возвращает идентификатор MENUID подменю, назначенного заданному элементу меню; если этому элементу не назначено подменю, возвращается - 1.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере создается система меню и возвращается идентификатор подменю.
Код Visual FoxPro
Copy Code | |
---|---|
SET LIBRARY TO GETITEMS |
Код C
Copy Code | |
---|---|
#include <pro_ext.h> MENUID SysMenuId, retMenuId; MENUID PopupId; ITEMID PadId; void putLong(long n) { Value val; val.ev_type = 'I'; val.ev_long = n; val.ev_width = 10; _PutValue(&val); } FAR onSelection(long menuId, long itemId) { _PutStr("\nitemId = "); putLong(itemId); } void FAR StartUp() { ITEMID Bar1Id; ITEMID Bar2Id; int Error; // // Add new menu title to SYSMENU. // SysMenuId = _MenuId(_SYSMENU); PadId = _GetNewItemId(SysMenuId); if (_NewItem(SysMenuId, PadId, _LASTITEM, "\\<Added menu title")) { _Error(623); /* "Menu item cannot be defined." */ } // // Define menu. // PopupId = _GetNewMenuId(); if (Error = _NewMenu(MPOPUP, PopupId)) { _Error(-Error); } Bar1Id = _GetNewItemId(PopupId); // // WARNING: Call _NewItem() before another _GetNewItemId(). // if (_NewItem(PopupId, Bar1Id, _LASTITEM, "\\<1st item")) { _Error(623); /* "Menu item cannot be defined." */ } Bar2Id = _GetNewItemId(PopupId); if (_NewItem(PopupId, Bar2Id, _LASTITEM, "\\<2nd item")) { _Error(623); /* "Menu item cannot be defined." */ } // // Attach menu to menu title. // _SetItemSubMenu(SysMenuId, PadId, PopupId); _PutStr("\nSubMenu Id = "); putLong(PopupId); // // Set up selection action. // retMenuId = _GetItemSubMenu(SysMenuId,PadId); _PutStr("\nThis is the return value from _GetItemSubMenu. retMenuId = "); putLong(retMenuId); _OnSelection(PopupId, -1, onSelection); } void FAR ShutDown() { _DisposeItem(SysMenuId, PadId); _DisposeMenu(PopupId); } FoxInfo myFoxInfo[] = { {"STARTUP", (FPFI) StartUp, CALLONLOAD, ""}, {"SHUTDOWN", (FPFI) ShutDown, CALLONUNLOAD, ""}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |