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.
Gibt den Ereignisbezeichner des angegebenen Ereignisses im angegebenen Menü zurück.
ITEMID _GetItemId(MENUID menuid, long index)
MENUID menuid; /* Menu identifier. */
long index; /* Menu item number. */
Hinweise
Sie können mit Hilfe von _GetItemId( ) Menüleisten oder Menübezeichner zusammenfassen, um eine Operation für alle Ereignisse auszuführen. _GetItemId( ) gibt 0 zurück, wenn index größer ist als die Anzahl der Ereignisse im Menü.
Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.
Beispiel
Im folgenden Beispiel wird ein Menü mit drei Ereignissen erstellt. Mit Hilfe von _GetItemId( ) wird die ITEMID jedes Menüeintrags abgerufen. Nach dem Entfernen eines Ereignisses aus dem Menü werden Sie feststellen, dass der ITEMID-Wert nicht immer dem Ereignisindex entspricht.
Visual FoxPro-Code
SET LIBRARY TO GETIID
C-Code
#include <pro_ext.h>
void putLong(long n)
{
Value val;
val.ev_type = 'I';
val.ev_long = n;
val.ev_width = 10;
_PutValue(&val);
}
FAR GetItemIdEx(ParamBlk FAR *parm)
{
MENUID menuId;
ITEMID itemId;
Point loc;
menuId = _GetNewMenuId();
_NewMenu(MPOPUP, menuId);
itemId = _GetNewItemId(menuId);
_NewItem(menuId, itemId, -2, "\\<1st item");
itemId = _GetNewItemId(menuId);
_NewItem(menuId, itemId, -2, "\\<2nd item");
itemId = _GetNewItemId(menuId);
_NewItem(menuId, itemId, -2, "\\<3rd item");
loc.v = 10; loc.h = 20;
_SetMenuPoint(menuId, loc);
_ActivateMenu(menuId);
_PutStr("\nitemid for index 0 ="); putLong(_GetItemId(menuId, 0));
_PutStr("\nitemid for index 1 ="); putLong(_GetItemId(menuId, 1));
_PutStr("\nitemid for index 2 ="); putLong(_GetItemId(menuId, 2));
_Execute("WAIT WINDOW");
_DisposeItem(menuId, _GetItemId(menuId, 1));
_PutStr("\nitemid for index 0 ="); putLong(_GetItemId(menuId, 0));
_PutStr("\nitemid for index 1 ="); putLong(_GetItemId(menuId, 1));
_Execute("WAIT WINDOW");
_DisposeMenu(menuId);
}
FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) GetItemIdEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_GetItemSubMenu( ), API-Bibliotheksroutine | _GetNewItemId( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API | NewItemID-Eigenschaft