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.
Zeigt das angegebene Menü auf dem Bildschirm an und gibt die Steuerung unmittelbar an die aufrufende Routine zurück.
void _ActivateMenu(MENUID menuid)
MENUID menuid /* Menu identifier.
Hinweise
Wenn Sie einen Mausklick oder einen Tastendruck in dem Menü erkennen, können Sie _MenuInteract( ) aufrufen, um zu ermitteln, welchen Menüeintrag der Benutzer gewählt hat.
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. _ActivateMenu( ) zeigt das Menü an. Dieses Menü ist nicht gebunden, d. h., es wird keine Interaktion erzwungen, wie es bei _MenuInteract( ) der Fall ist. Wenn der Benutzer eine Auswahl trifft, wird vielmehr die _OnSelection( )-Routine aufgerufen, das ausgewählte Ereignis wird auf dem Bildschirm dargestellt, und das Menü wird freigegeben.
Visual FoxPro-Code
SET LIBRARY TO ACTIMENU
WAIT WINDOW "Make selection from menu." NOWAIT
SUSPEND
C-Code
#include <pro_ext.h>
static MENUID menuId;
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);
}
FAR deactivateMenu(ParamBlk FAR *parm)
{
_DeActivateMenu(menuId);
_DisposeMenu(menuId);
}
FAR activateMenu(ParamBlk FAR *parm)
{
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);
_OnSelection(menuId, -1, onSelection);
}
FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) activateMenu, CALLONLOAD, ""},
{"ONUNLOAD", (FPFI) deactivateMenu, CALLONUNLOAD, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_DeActivateMenu( ), API-Bibliotheksroutine | _MenuId( ), API-Bibliotheksroutine | _NewItem( ), API-Bibliotheksroutine | _NewMenu( ), API-Bibliotheksroutine | _OnSelection( ), API-Bibliotheksroutine | _MenuInteract( ), API-Bibliotheksroutine | _OnSelection( ), API-Bibliotheksroutine