Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Een ActiveX-besturingselement is een herbruikbaar softwareonderdeel op basis van com (Component Object Model) dat ondersteuning biedt voor een breed scala aan OLE-functionaliteit en kan worden aangepast aan veel softwarebehoeften.
Belangrijk
ActiveX is een verouderde technologie die niet mag worden gebruikt voor nieuwe ontwikkeling. Zie ActiveX-besturingselementenvoor meer informatie.
ActiveX-besturingselementen zijn ontworpen voor gebruik in gewone ActiveX-besturingscontainers en op internet, op world wide webpagina's. U kunt ActiveX-besturingselementen maken met MFC, hier beschreven of met de Active Template Library (ATL).
Een ActiveX-besturingselement kan zichzelf in een eigen venster tekenen, reageren op gebeurtenissen (zoals muisklikken) en worden beheerd via een interface die eigenschappen en methoden bevat die vergelijkbaar zijn met die in Automation-objecten.
Deze besturingselementen kunnen worden ontwikkeld voor veel gebruik, zoals databasetoegang, gegevensbewaking of grafieken. Naast hun draagbaarheid bieden ActiveX-besturingselementen ondersteuning voor functies die eerder niet beschikbaar waren voor ActiveX-besturingselementen, zoals compatibiliteit met bestaande OLE-containers en de mogelijkheid om hun menu's te integreren met de OLE-containermenu's. Daarnaast biedt een ActiveX-besturingselement volledige ondersteuning voor Automation, waarmee het besturingselement lees-/schrijfeigenschappen en een set methoden kan weergeven die door de besturingselementgebruiker kunnen worden aangeroepen.
U kunt vensterloze ActiveX-besturingselementen en besturingselementen maken die alleen een venster maken wanneer ze actief worden. Vensterloze besturingselementen versnellen de weergave van uw toepassing en maken het mogelijk om transparante en niet-verstrengelde besturingselementen te hebben. U kunt ook asynchroon ActiveX-besturingselementeigenschappen laden.
Een ActiveX-besturingselement wordt geïmplementeerd als een in-process server (meestal een klein object) dat kan worden gebruikt in een OLE-container. Houd er rekening mee dat de volledige functionaliteit van een ActiveX-besturingselement alleen beschikbaar is wanneer deze wordt gebruikt in een OLE-container die is ontworpen om op de hoogte te zijn van ActiveX-besturingselementen. Zie Poort ActiveX-besturingselementen voor andere toepassingen voor een lijst met containers die ActiveX-besturingselementen ondersteunen. Dit containertype, hierna een 'besturingscontainer' genoemd, kan een ActiveX-besturingselement gebruiken met behulp van de eigenschappen en methoden van het besturingselement en ontvangt meldingen van het ActiveX-besturingselement in de vorm van gebeurtenissen. In de volgende afbeelding ziet u deze interactie.
Interactie tussen een ActiveX-besturingscontainer en een venster-ActiveX-besturingselement
Zie MFC ActiveX-besturingselementen: Optimalisatie voor recente informatie over het optimaliseren van uw ActiveX-besturingselementen.
Zie Een ActiveX-besturingselementproject maken om een MFC ActiveX-besturingselement te creëren.
Voor meer informatie, zie:
Basisonderdelen van een ActiveX-besturingselement
Een ActiveX-besturingselement maakt gebruik van verschillende programmatische elementen om efficiënt te communiceren met een besturingscontainer en met de gebruiker. Dit zijn klassen COleControl, een set functies voor gebeurtenistriggering en een dispatch-tabel.
Elk ActiveX-besturingsobject dat u ontwikkelt, neemt een krachtige set functies over van de MFC-basisklasse. COleControl Deze functies omvatten in-place activering en Automatiseringslogica.
COleControl kan het besturingsobject dezelfde functionaliteit bieden als een MFC-vensterobject, plus de mogelijkheid om gebeurtenissen te activeren.
COleControl kan ook vensterloze besturingselementen bieden, die afhankelijk zijn van hun container voor hulp bij een aantal van de functionaliteit die een venster biedt (muisopname, toetsenbordfocus, schuiven), maar veel sneller weergeven.
Omdat de controleklasse is afgeleid van COleControl, erft deze de mogelijkheid om berichten te verzenden, of te "triggeren," die ook gebeurtenissen worden genoemd, naar de besturingscontainer wanneer aan bepaalde voorwaarden wordt voldaan. Deze gebeurtenissen worden gebruikt om de besturingscontainer op de hoogte te stellen wanneer er iets belangrijks gebeurt in het besturingselement. U kunt aanvullende informatie over een gebeurtenis naar de besturingscontainer verzenden door parameters aan de gebeurtenis toe te voegen. Zie het artikel MFC ActiveX-besturingselementen: Gebeurtenissen voor meer informatie over ActiveX-besturingselementgebeurtenissen.
Het laatste element is een verzendkaart, die wordt gebruikt om een set functies (methoden genoemd) en kenmerken (eigenschappen genoemd) beschikbaar te maken voor de besturingselementgebruiker. Met eigenschappen kunnen de besturingscontainer of de besturingselementgebruiker het besturingselement op verschillende manieren bewerken. De gebruiker kan het uiterlijk van het besturingselement wijzigen, bepaalde waarden van het besturingselement wijzigen of aanvragen van het besturingselement indienen, zoals het openen van een bepaald stukje gegevens dat het besturingselement onderhoudt. Deze interface wordt bepaald door de besturingselementontwikkelaar en wordt gedefinieerd met klasseweergave. Zie de artikelen MFC ActiveX-besturingselementen: Methoden en eigenschappen voor meer informatie over ActiveX-besturingsmethoden en -eigenschappen.
Interactie tussen besturingselementen met Windows- en ActiveX-besturingscontainers
Wanneer een besturingselement in een besturingscontainer wordt gebruikt, worden er twee mechanismen gebruikt om te communiceren: er worden eigenschappen en methoden weergegeven en gebeurtenissen geactiveerd. In de volgende afbeelding ziet u hoe deze twee mechanismen worden geïmplementeerd.
Communicatie tussen een ActiveX-besturingscontainer en een ActiveX-besturingselement
In de vorige afbeelding ziet u ook hoe andere OLE-interfaces (naast automatisering en gebeurtenissen) worden verwerkt door besturingselementen.
Alle communicatie van een besturingselement met de container wordt uitgevoerd door COleControl. Als u enkele aanvragen van de container wilt verwerken, COleControl roept u lidfuncties aan die zijn geïmplementeerd in de besturingsklasse. Alle methoden en sommige eigenschappen worden op deze manier verwerkt. De controle klasse kan communicatie met de container initiëren door functies van COleControl aan te roepen. Gebeurtenissen worden op deze manier afgevuurd.
Actieve en inactieve statussen van een ActiveX-besturingselement
Een besturingselement heeft twee basisstatussen: actief en inactief. Traditioneel werden deze staten onderscheiden door of het besturingselement een venster had. Een actief besturingselement had een venster; een inactief besturingselement niet. Met de introductie van vensterloze activering is dit onderscheid niet langer universeel, maar nog steeds van toepassing op veel besturingselementen.
Wanneer een besturingselement zonder venster actief wordt, roept het muisopname, toetsenbordfocus, schuiven en andere vensterservices vanuit de container aan. U kunt ook muisinteractie bieden voor inactieve besturingselementen en besturingselementen maken die wachten totdat het venster is geactiveerd.
Wanneer een besturingselement met een venster actief wordt, kan het volledig communiceren met de besturingscontainer, de gebruiker en Windows. In de onderstaande afbeelding ziet u de communicatiepaden tussen het ActiveX-besturingselement, de besturingscontainer en het besturingssysteem.
Windows-berichtverwerking in het venster-ActiveX-besturingselement (Wanneer Actief)
Serialisatie
De mogelijkheid om gegevens, ook wel persistentie genoemd, te serialiseren, stelt het besturingselement in staat om de waarde van de eigenschappen naar permanente opslag te schrijven. Besturingselementen kunnen vervolgens opnieuw worden gemaakt door de status van het object uit de opslag te lezen.
Houd er rekening mee dat een besturingselement niet verantwoordelijk is voor het verkrijgen van toegang tot het opslagmedium. In plaats daarvan is de container van het besturingselement verantwoordelijk voor het leveren van het besturingselement met een opslagmedium dat op de juiste momenten kan worden gebruikt. Zie het artikel MFC ActiveX-besturingselementen: Serialiseren voor meer informatie over serialisatie. Voor informatie over het optimaliseren van serialisatie, zie Persistentie en initialisatie optimalisatie in ActiveX-besturingselementen: Optimalisatie.
ActiveX-besturingsklassen en -hulpprogramma's installeren
Wanneer u Visual C++installeert, worden de MFC ActiveX-besturingsklassen en retail- en foutopsporings-DLL's van ActiveX-besturingselementen automatisch geïnstalleerd als ActiveX-besturingselementen zijn geselecteerd in Setup (deze zijn standaard geselecteerd).
Standaard worden de ActiveX-besturingsklassen en -hulpprogramma's geïnstalleerd in de volgende submappen onder \Program Files\Microsoft Visual Studio .NET:
\Common7\Tools
Bevat de testcontainerbestanden (TstCon32.exe, evenals de Help-bestanden).
\Vc7\atlmfc\include
Bevat de insluitingsbestanden die nodig zijn voor het ontwikkelen van ActiveX-besturingselementen met MFC
\Vc7\atlmfc\src\mfc
Bevat de broncode voor specifieke ActiveX-besturingsklassen in MFC
\Vc7\atlmfc\lib
Bevat de bibliotheken die vereist zijn voor het ontwikkelen van ActiveX-besturingselementen met MFC
Er zijn ook voorbeelden voor MFC ActiveX-besturingselementen. Zie Besturingselementenvoorbeelden: MFC-Based ActiveX-besturingselementen voor meer informatie over deze voorbeelden