Modification du comportement d'un contrôle au moment de l'exécution
Après avoir inséré un contrôle et généré une ou plusieurs Classes wrapper, vous pouvez appeler les méthodes du contrôle et programmer ses gestionnaires d'événements.
Les Classes wrapper du contrôle spécifient les fonctions que vous pouvez utiliser pour modifier le comportement du contrôle au moment de l'exécution. Incluez le fichier d'en-tête approprié de la classe wrapper et utilisez les méthodes. Pour définir une propriété, recherchez une méthode d'accesseur portant le nom de la propriété préfixé par Set. Pour récupérer une propriété, recherchez une méthode d'accesseur portant le nom de la propriété préfixé par Get. Les gestionnaires d'événements peuvent être écrits ultérieurement.
Dans la mesure où les contrôles sont implémentés à l'aide d'Automation, les types passés peuvent être uniquement des types sécurisés au niveau de l'Automation tels que BSTR et VARIANT. Si vous pouvez utiliser des appels système pour affecter et définir des types BSTR et VARIANT, vous souhaiterez peut-être aussi utiliser les classes wrapper ATL (CComBSTR, CComVariant), les classes wrapper de prise en charge du compilateur COM Visual C++ (_bstr_t, _variant_t) ou la classe wrapper MFC (COleVariant).
Si vous ajoutez un contrôle de données, l'Assistant Insérer un contrôle ActiveX génère des classes wrapper pour les coclasses du contrôle de données qui gèrent ses objets de données internes. Ces classes n'incluent pas la totalité des contrôles RDO et ADO, mais représentent plutôt des objets internes déclarés dans la bibliothèque de types.
Si vous souhaitez utiliser ADO et RDO directement, vous devez vous connecter aux DLL ADO ou RDO (Msado15.dll ou Msrdo20.dll) directement, soit à l'aide des classes de prise en charge du compilateur COM, qui gèrent la directive #import, soit par l'intermédiaire du Kit de développement logiciel (SDK) respectif.
Pour définir les propriétés d'un contrôle au moment de l'exécution
Notez que certaines propriétés d'un contrôle ActiveX pourraient être en lecture seule au moment de l'exécution, ce qui complique la création dynamique. Vous pouvez temporairement simuler le mode design pour l'initialisation des propriétés en substituant le gestionnaire OnAmbientPropertyChange du conteneur de contrôle, selon la technique décrite dans l'article de la Base de connaissance Q260744, « How to: Set ActiveX Control Design-Time Properties at Run Time ». Vous trouverez les articles de la Base de connaissances sur le média MSDN Library ou à l'adresse https://support.microsoft.com/support/.