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 die Anzahl der Menüeinträge oder Menüleisten für das angegebene Menü zurück.
int _CountItems(MENUID menuid)
MENUID menuid; /* Menu identifier. */
Beispiel
Im folgenden Beispiel wird ein Menü mit drei Ereignissen erstellt. _CountItems( ) wird aufgerufen, um zu zeigen, dass die Funktion die Anzahl der Ereignisse im Menü korrekt zurückgibt. Anschließend gibt die Routine Menüeinträge frei und ruft _CountItems( ) erneut auf.
Visual FoxPro-Code
SET LIBRARY TO CNTITEMS
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 CountItemsEx(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("\n_CountItems() ="); putLong(_CountItems(menuId));
_Execute("WAIT");
_DisposeItem(menuId, _GetItemId(menuId, 1));
_PutStr("\n_CountItems() ="); putLong(_CountItems(menuId));
_Execute("WAIT");
_DisposeItem(menuId, _GetItemId(menuId, 0));
_PutStr("\n_CountItems() ="); putLong(_CountItems(menuId));
_Execute("WAIT");
_DisposeMenu(menuId);
}
FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) CountItemsEx, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_GetNewMenuId( ), API-Bibliotheksroutine | _GetNewMenuId( ), API-Bibliotheksroutine | _NewMenu( ), API-Bibliotheksroutine | Erstellen von Menüs, Kontextmenüs, Menüelementen und Untermenüs