Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
ActiveX-kontroller använder händelser för att meddela en container att något har hänt med kontrollen. Vanliga exempel på händelser är klick på kontrollen, data som anges med tangentbordet och ändringar i kontrollens tillstånd. När dessa åtgärder inträffar utlöser kontrollen en händelse för att varna containern.
Händelser kallas också meddelanden.
MFC stöder två typer av händelser: fördefinierade och anpassade. Lagerhändelser är de händelser som klass COleControl hanterar automatiskt. En fullständig lista över aktiehändelser finns i artikeln MFC ActiveX Controls: Adding Stock Events. Anpassade händelser gör att en kontroll kan meddela containern när en åtgärd som är specifik för den kontrollen inträffar. Några exempel skulle vara en ändring i det interna tillståndet för en kontroll eller mottagande av ett visst fönstermeddelande.
För att kontrollen ska utlösa händelser korrekt måste kontrollklassen mappa varje händelse av kontrollen till en medlemsfunktion som ska anropas när den relaterade händelsen inträffar. Den här mappningsmekanismen (kallas en händelsekarta) centraliserar information om händelsen och gör det möjligt för Visual Studio att enkelt komma åt och manipulera kontrollens händelser. Den här händelsekartan deklareras av följande makro som finns i rubriken (. H)-fil för kontrollklassdeklarationen:
DECLARE_EVENT_MAP()
När händelsekartan har deklarerats måste den definieras i din kontrolls implementering (. CPP)-fil. Följande kodrader definierar händelsekartan så att din kontroll kan utlösa specifika händelser:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()
Om du använder guiden MFC ActiveX-kontroll för att skapa projektet läggs dessa rader automatiskt till. Om du inte använder MFC ActiveX-kontrollguiden måste du lägga till dessa rader manuellt.
Med klassvy kan du lägga till aktiehändelser som stöds av klasshändelser COleControl eller anpassade händelser som du definierar. För varje ny händelse lägger klassvyn automatiskt till rätt post i kontrollens händelsekarta och kontrollens . IDL-fil.
Två andra artiklar beskriver händelser i detalj:
Se även
MFC ActiveX-kontroller
MFC ActiveX-kontroller: Metoder
COleControl-klass