Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Assigns a submenu to the specified menu item.
void _SetItemSubMenu(MENUID menuid, ITEMID itemid,
MENUID submenuid)
MENUID menuid; /* Menu identifier. */
ITEMID itemid; /* Menu item identifier. */
MENUID submenuid; /* Submenu identifier. */
Remarks
You can use _SetItemSubMenu( ) to attach a menu to a menu title or to a submenu to a menu item.
For more information on how to create an API library and integrate it with Visual FoxPro, see Accessing the Visual FoxPro API.
Example
The following example adds a menu title to the system menu. Using _SetItemSubMenu( ), it then attaches a menu with two items to this menu title.
Visual FoxPro Code
SET LIBRARY TO SETISUBM
C Code
#include <pro_ext.h>
MENUID SysMenuId;
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);
// Set up selection action.
_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
};
See Also
_GetNewMenuId( ) API Library Routine | _NewMenu( ) API Library Routine | _SetItemText( ) API Library Routine | _SetItemCmdKey( ) API Library Routine