Vous pouvez utiliser l'Assistant objet ATL pour ajouter un objet ou un contrôle de projets axés sur les MFC ou ATL. Pour chaque objet COM ou le contrôle que vous ajoutez, l'Assistant génère les fichiers CPP et H, ainsi qu'un fichier RGS de soutien axées sur le script de Registre.
Si vous essayez d'ajouter un simple objet de COM à un projet MFC, vous devrez ajouter la prise en charge ATL au projet existant. Pour plus d'informations sur cette fonctionnalité, voir Ajout de charge ATL à votre projet MFC.
&Notenbsp ; L'Assistant objet ATL ajoute l'objet pour le projet actif. Si vous souhaitez ajouter le contrôle à un autre projet sur l'espace de travail, vous devez vous tout d'abord il le projet actif.
Pour ajouter un objet ou un contrôle à l'aide de l'Assistant objet ATL
Votre projet est ouvert, sélectionnez le Nouvel objet ATL dans le menu Insérer.
- ou -
Dans ClassView, cliquez sur le bouton droit de la souris sur le dossier de niveau du projet et sélectionnez Nouvel objet ATL dans le menu contextuel.
Ouvre l'Assistant objet ATL.
&Notenbsp ; Si c'est un projet MFC qui vous n'avez pas déjà ajouté un objet ATL, vous serez invité à spécifier si vous souhaitez prise en charge ATL à votre projet. En cliquant sur Oui ouvre l'Assistant objet ATL.
L'Assistant objet ATL affiche les catégories d'objets sur les icônes des objets dans chaque catégorie à droite et à gauche. Choisissez une catégorie ; l'Assistant affiche les icônes des objets dans cette catégorie.
Objets ATL
Objet simple ajoute un objet COM minimal.
Complément objet ajoute un objet COM qui s'étend du shell Visual C++ avec votre propre bouton de barre d'outils et de la gestion des événements. Cet objet offre la même fonctionnalité que celle ajoutée par l' Assistant de DevStudio Add-in dans le menu fichier de Visual C++, onglet Projets nouveaux.
Objet de Internet Explorer ajoute un objet qui prend en charge les interfaces nécessaires par Internet Explorer, mais sans le soutien d'une interface utilisateur.
Composant Active Server ajoute un objet qui peut être utilisé par la fonctionnalité Active Server Pages d'Internet Information Server (IIS).
Composant logiciel enfichable MMC crée un cadre pour un objet Microsoft Management Console Snap-In. Voir MMC Snap-In Assistant et Console de gestion MicrosoftPlatform SDK pour plus d'informations.
Composant de serveur MS Transaction inclut les fichiers d'en-tête requis par Microsoft Transaction Server et définit l'objet : nonaggregatable.
Objet de registraire composant ajoute un objet qui implémente l'interface IComponentRegistrar . Cet objet peut être utilisé pour enregistrer tous les objets dans votre serveur in-process qui déclarent la macro DECLARE_OBJECT_DESCRIPTION . À l'aide de cet objet vous pouvez vous inscrire ou désinscrire objets individuellement, à la différence de DllRegisterServer et DllUnregisterServer , enregistrer et annuler l'inscription de tous les objets de votre serveur. Vous pouvez également obtenir une liste d'objets dans le serveur et leurs descriptions avec la méthode IComponentRegistrar::GetComponents.
Contrôles ATL
Contrôle complet ajoute un objet qui prend en charge les interfaces pour tous les conteneurs.
Contrôle Lite ajoute un objet qui prend en charge les interfaces nécessaires par Internet Explorer, y compris le soutien pour une interface utilisateur.
Page de propriétés ajoute un objet qui implémente une page de propriétés.
Contrôle composite ajoute un contrôle qui permet d'héberger de nombreux autres contrôles.
Ajoute un contrôle avec des fonctionnalités DHTML et affiche une page web HTML dans son interface utilisateur de Contrôle HTML.
Contrôle Composite Lite ajoute un contrôle composite qui peut héberger des autres contrôles, mais il prend en charge uniquement les interfaces nécessaires par Internet Explorer.
Lite contrôle HTML ajoute un contrôle avec des fonctionnalités DHTML et affiche une page web HTML dans son interface utilisateur, mais il prend en charge uniquement les interfaces nécessaires par Internet Explorer.
ATL divers
Boîte de dialogue ajouter un objet qui implémente une boîte de dialogue.
Accès aux données
Fournisseur ajoute du code à l'appui des modèles du fournisseur OLE DB.
Consommateur ajoute du code à l'appui des modèles du consommateur OLE DB.
Double-cliquez sur le contrôle ou l'objet que vous voulez insérer. L'Assistant objet ATL affiche une boîte de dialogue indiquant les options qui s'appliquent à votre objet ou contrôle.
&Notenbsp ; Selon le type de l'objet ou le contrôle que vous sélectionnez, certains des pages et des options décrites ci-dessous ne soient pas disponibles.
Dans la page noms , entrez les noms de classe et le fichier. Par défaut, le nom que vous entrez pour le nom court devient la racine pour tous les autres noms de cette page. Vous pouvez entrer vos propres noms plutôt que d'accepter ces valeurs par défaut.
Classe est le nom de la classe d'implémentation de votre objet.
CoClass est le nom de la classe de composant qui contient la liste des interfaces de prise en charge par l'objet.
L'interface est le nom de l'interface que vous créez pour votre objet. Cette interface contient vos méthodes personnalisées. Pour plein de contrôles, contrôles de Internet Explorer, des objets simples, Internet Explorer les objets, Add-in objets, composants serveur Active et Microsoft Transaction Server composants, l'Assistant crée une interface avec le nom que vous spécifiez. Pour les objets de la Page de propriétés, aucune interface personnalisée n'est créée, et l'Assistant assigne IUnknown comme l'interface de l'objet. Objets de la boîte de dialogue ne créent pas une interface.
Le type est une chaîne de description de l'objet qui va dans le registre.
ProgID est un nom que les conteneurs peuvent utiliser au lieu du CLSID de l'objet.
Sur la page attributs , sélectionnez un filetage modèle, type d'interface et le soutien de l'agrégation:
Choisir les Interfaces doubles si vous voulez que les interfaces de l'objet à dériver de IDispatch ainsi que de soutenir vos fonctions personnalisées (la vtable a les fonctions de l'interface personnalisée ainsi que méthodes IDispatch de liaison tardive). Cela permet aux clients COM et contrôleurs d'Automation pour accéder à votre objet.
Choisir les Interfaces personnalisées pour dériver les interfaces de l'objet de IUnknown (la vtable a fonctions de l'interface personnalisée et non les méthodes IDispatch ). Une interface personnalisée peut être plus rapide qu'une interface double, notamment à travers les frontières de processus.
Choisissez seulement pour l'agrégation, si vous souhaitez que l'objet est instancié uniquement si c'est être agrégée.
Activez la case à cocher Charge ISupportErrorInfo d'avoir votre objet à mettre en œuvre la interface ISupportErrorInfo de rapport d'erreurs.
Activez la case à cocher Support les Points de connexion pour ajouter le support pour les points de connexion de l'objet. L'Assistant sera automatiquement dérivent de la classe l'objet de IConnectionPointContainerImpl.
Activez la case à cocher Marshaleur libre de thread pour créer un objet marshaleur libre de threads pour marshaler efficacement les pointeurs d'interface entre les threads dans le processus même.
Dans la page divers , choisissez les caractéristiques de l'objet.
Choisissez Opaque pour rendre votre contrôle totalement opaque, afin qu'aucun du conteneur montre derrière les limites du contrôle. Cela aide le conteneur dessiner le contrôle plus rapidement. Le rectangle entier contrôle passe à la méthode OnDraw de la classe de votre contrôle. Cette option définit le VIEWSTATUS_OPAQUE bit dans la énumération VIEWSTATUS.
Choisissez Fond pour faire du contrôle une couleur solide et pas un modèle de référence. Cette option est utile seulement si la Opaque est option est également sélectionné. Cette option définit le bit VIEWSTATUS_SOLIDBKGND dans l'énumération VIEWSTATUS.
Choisissez Invisible lors de l'exécution pour rendre votre contrôle invisible au moment de l'exécution. Vous pouvez utiliser les contrôles invisibles pour effectuer des opérations en arrière-plan, telles que le tir des événements à intervalles.
Choisir comme bouton pour permettre à votre contrôle d'agir comme un bouton, en particulier pour s'afficher comme bouton par défaut basé sur la propriété ambiante DisplayAsDefault.
Choisir comme étiquette pour permettre à votre contrôle de remplacer l'étiquette native du conteneur.
Choisissez ajouter contrôle basé sur de la superclasse, une des classes de fenêtre standard. La liste déroulante contient les noms de classe de fenêtre définies par Windows. Lorsque vous choisissez un d'entre eux, l'Assistant ajoute une variable membre de type CContainedWindow à la classe de votre contrôle. CContainedWindow::Create sera superclasse la classe de fenêtre que vous spécifiez.
Choisir de Normaliser DC créer un contexte de périphérique normalisée lorsqu'elle est appelée à se dessiner à votre contrôle. Cela normalise l'apparence du contrôle, mais il est moins efficace.
Choisissez Insertable d'avoir votre commande apparaît dans la boîte de dialogue Insérer un objet d'applications telles que Microsoft Word et Microsoft Excel. Votre contrôle peut ensuite être inséré par n'importe quelle application qui prend en charge les objets incorporés par le biais de la boîte de dialogue Insérer un objet.
Choisissez Fenêtre uniquement pour forcer votre contrôle à être fenêtré, même dans des conteneurs qui prennent en charge les objets sans fenêtre. Si vous ne sélectionnez pas cette option, votre commande sera automatiquement sans fenêtre dans des conteneurs qui prennent en charge les objets sans fenêtre et être automatiquement avec fenêtres dans des contenants qui ne supportent pas les objets sans fenêtre.
Dans la page de Propriétés Stock , sélectionnez les propriétés stock, que vous souhaitez que l'objet à l'appui, tels que la Légende ou de la Couleur de la bordure. Vous pouvez sélectionner à la fois toutes les propriétés stocks en cliquant sur le gt ; > bouton.
Dans la page de chaînes , entrez les noms de l'objet page de propriété.
Le titre est le texte qui apparaît sur l'onglet de la page de propriétés.
Doc String est une chaîne de texte décrivant la page. Le frame de propriété pourrait utiliser la description dans un embout de ligne ou outil de statut. Actuellement, le cadre de la propriété standard n'utilise pas cette chaîne.
HelpFile est le nom du fichier d'aide associé. Le nom du fichier aide doit être le nom simple sans un chemin d'accès. Lorsque l'utilisateur appuie sur aide, le frame ouvre le fichier d'aide dans le répertoire nommé dans la valeur de la clé HelpDir des entrées de Registre page de propriété sous son identificateur CLSID.
Dans la page Add-in , choisissez les caractéristiques de l'objet Add-in.
Barre d'outils fournissent crée un bouton de barre d'outils, que l'utilisateur peut cliquer pour effectuer une commande ajoutée par votre objet Add-in.
Nom de la commande est le nom de la commande ajouté à Visual C++ par votre objet Add-in. Ce nom apparaît dans la liste sous l'onglet compléments et fichiers de macros du menu outils , option Personnaliser .
Nom de la méthode est le nom de la méthode qui implémente la commande.
Texte de la barre d'outils est le texte que vous voulez faire apparaître sur le bouton que vous ajouter à la barre d'outils pour effectuer votre commande.
Status bar texte le texte que vous souhaitez afficher dans la ligne de statut lorsque votre commande est en cours d'exécution.
Texte d'info-bulles est le texte que vous souhaitez afficher dans le message d'info-bulle pour le bouton de votre barre d'outils lorsque la souris de l'utilisateur passe sur le bouton.
Événements d'application permet à votre objet Add-in intercepter des événements d'application.
Événements débogueur permet à votre objet Add-in capturer des événements de débogueur.
Dans la page ASP , choisissez les fonctionnalités du composant Active Server.
OnStartPage et OnEndPage, activée par défaut, ajoute les méthodes OnStartPage et OnEndPage à l'objet.
Si OnStartPage et OnEndPage est cochée, vous pouvez choisir les Objets intrinsèques que vous souhaitez sont disponibles comme pointeurs de membre dans la classe de l'objet. Par défaut, chaque objet intrinsèque est cochée.
Dans la page MTX , choisissez les fonctionnalités du composant Microsoft Transaction Server. Double et Custom choisissent le genre d'interface implémentée, et Les Points de connexion de soutien ajoute le support pour les points de connexion. Ces options sont les mêmes que ceux de la page attributs pour d'autres types d'objets. En outre, la page MTX a deux options uniques:
Soutien IObjectControl donne accès à trois méthodes IObjectControl : Activate, Deactivate et CanBePooled,.
Peuvent être regroupés raconte l'environnement d'exécution de Transaction Server, votre objet doit être renvoyé à un pool d'instance après désactivation, plutôt que détruit. Cette option ne peut pas être sélectionnée à moins que l'option de Support IObjectControl est également sélectionnée.