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 einen Bezeichner zurück, der aktuell für die Verwendung als Ereignisbezeichner im angegebenen Menü zur Verfügung steht.
ITEMID _GetNewItemId(MENUID menuid)
MENUID menuid; /* Menu identifier. */
Hinweise
Jedes Ereignis in einem Menü muss über einen für dieses Menü eindeutigen Bezeichner verfügen.
Fügen Sie dem Menü nach Verwenden von _GetNewItemId( ) das neue Ereignis hinzu, bevor Sie _GetNewItemId( ) erneut verwenden. Sofern Sie dem Menü das Ereignis nicht hinzufügen, geben nachfolgende Aufrufe von _GetNewItemId( ) denselben Wert für die Ereignis-ID (ITEMID) zurück.
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. Vor dem Hinzufügen jeden Ereignisses zu dem Menü, wird durch Aufrufen von _GetNewItemId( ) eine eindeutige Ereignis-ID (ITEMID) erzeugt.
Visual FoxPro-Code
SET LIBRARY TO GETNWIID
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 GetNewItemId(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);
_MenuInteract(&menuId, &itemId);
_PutStr("\nmenuId ="); putLong(menuId);
_PutStr("\nitemId ="); putLong(itemId);
_DisposeMenu(menuId);
}
FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) GetNewItemId, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_GetItemId( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API | _SetItemText( ), API-Bibliotheksroutine | _NewItem( ), API-Bibliotheksroutine | _GetNewMenuId( ), API-Bibliotheksroutine