Der ATL-Objekt-Assistenten können Sie Ihre ATL- oder MFC-basierten Projekten ein Objekt oder ein Steuerelement hinzu. Der Assistent generiert für jede COM-Objekt oder ein Steuerelement, das Sie hinzufügen, CPP und H-Dateien sowie eine RGS-Datei für skriptbasierte Registrierungsunterstützung.
Wenn Sie versuchen, ein einfaches COM-Objekt zu einem MFC-Projekt hinzufügen, müssen Sie dem vorhandenen Projekt ATL-Unterstützung hinzufügen. Weitere Informationen über dieses Feature finden Sie unter MFC-Projekt ATL-Unterstützung hinzufügen.
Hinweis&Nbsp; Der ATL-Objekt-Assistent fügt das Objekt für das aktive Projekt. Wenn Sie das Steuerelement in ein anderes Projekt im Arbeitsbereich hinzufügen möchten, müssen Sie zunächst das aktive Projekt machen.
Um ein Objekt oder ein Steuerelement mit dem ATL-Objekt-Assistenten hinzufügen
Wählen Sie mit Ihrem Projekt zu öffnen Neues ATL-Objekt aus dem Menü Einfügen.
- oder -
Klassenansicht Klicken der rechten Maustaste auf das Projekt-Ebene-Ordner, und wählen Sie Neues ATL-Objekt aus dem Popup-Menü.
Öffnet den Assistenten für ATL-Objekte.
Hinweis&Nbsp; Ist dies ein MFC-Projekt, dem Sie nicht zuvor ein ATL-Objekt hinzugefügt haben, werden Sie aufgefordert, anzugeben, ob Sie ATL-Unterstützung zu Ihrem Projekt hinzugefügt werden soll. Auf Ja klicken, öffnet den Assistenten für ATL-Objekte.
Der ATL-Objekt-Assistent zeigt die Kategorien von Objekten auf der linken Seite und die Symbole für die Objekte in jeder Kategorie auf der rechten Seite. Wählen Sie eine Kategorie; der Assistent zeigt die Symbole der Objekte in dieser Kategorie.
ATL-Objekte
Einfaches Objekt fügt ein minimales COM-Objekt.
Add-in - Objekt fügt ein COM-Objekt, das die Visual C++-Shell mit eigenen Symbolleisten-Schaltfläche und Ereignisbehandlung erweitert. Dieses Objekt bietet die gleiche Funktionalität wie die vom DevStudio Add-in - Assistenten im Menü Visual C++- Datei , Neue Projekte Registerkarte hinzugefügt.
Internet Explorer-Objekt fügt ein Objekt, das die Schnittstellen benötigt von Internet Explorer, aber ohne Unterstützung für die Benutzerschnittstelle unterstützt.
Active Server-Komponente fügt ein Objekt, das von der aktive Server-Seiten-Feature von Internet Information Server (IIS) verwendet werden kann.
MS Transaction Server-Komponente enthält die Header-Dateien von der Microsoft Transaction Server benötigt und das Objekt als Nonaggregatable definiert.
Komponente Registrar-Objekt fügt ein Objekt, das die IComponentRegistrar -Schnittstelle implementiert. Dieses Objekt kann verwendet werden, um alle Objekte in Ihre in-Process-Server, die das DECLARE_OBJECT_DESCRIPTION -Makro deklarieren zu registrieren. Mit diesem Objekt können Sie registrieren und/oder Registrierung Objekte einzeln, im Gegensatz zu DllRegisterServer und DllUnregisterServer die registrieren und Aufheben der Registrierung aller Objekte auf dem Server. Sie können auch eine Liste von Objekten in die Server und deren Beschreibungen mit der Methode IComponentRegistrar::GetComponents erhalten.
ATL-Steuerelementen
Volle Kontrolle fügt ein Objekt, das die Schnittstellen für alle Container unterstützt.
Lite-Steuerelement fügt ein Objekt, das unterstützt die Schnittstellen, die von Internet Explorer, einschließlich der Unterstützung für eine Benutzeroberfläche benötigt.
Eigenschaftenseite fügt ein Objekt, eine Eigenschaftenseite implementiert.
Zusammengesetztes Steuerelement fügt ein Steuerelement, das viele andere Steuerelemente gehostet werden können.
HTML-Steuerelement ein Steuerelement mit DHTML-Funktionen hinzugefügt und zeigt eine HTML-Webseite in der Benutzeroberfläche.
Lite zusammengesetzten Steuerelements fügt ein zusammengesetztes Steuerelement, das andere Steuerelemente hosten kann, aber es unterstützt nur die Schnittstellen, die von Internet Explorer benötigt.
Lite HTML-Steuerelement ein Steuerelement mit DHTML-Funktionen hinzugefügt und zeigt eine HTML-Webseite in der Benutzeroberfläche, aber es unterstützt nur die Schnittstellen, die von Internet Explorer benötigt.
ATL-Sonstiges
Dialogfeld fügt ein Objekt, ein Dialogfeld implementiert.
Datenzugriff
Anbieter fügt Code zur Unterstützung von OLE DB-Anbietervorlagen.
Verbraucher fügt Code zur Unterstützung von OLE DB-Consumervorlagen.
Doppelklicken Sie auf das Steuerelement oder Objekt, das Sie einfügen möchten. Der ATL-Objekt-Assistent zeigt ein Dialogfeld mit Optionen, die für Ihr Objekt oder Steuerelement gelten.
Hinweis&Nbsp; Je nach den Typ des Objekts oder des Steuerelements, die Sie auswählen, einige der Seiten und unten beschriebenen Optionen möglicherweise nicht verfügbar.
Geben Sie den Namen der Seite Klasse und Dateinamen. Der Name, den Sie für den kurzen Namen eingeben, wird standardmäßig das Stammverzeichnis für alle anderen Namen auf dieser Seite. Sie können eigene Namen geben Sie anstatt dieser Standardwerte annehmen.
Klasse ist der Name der Klasse, die Ihr Objekt.
Co-Klasse ist der Name der Komponente-Klasse enthält eine Liste der Schnittstellen, die vom Objekt unterstützt.
Interface ist der Name der Schnittstelle, die Sie für Ihr Objekt erstellen. Diese Schnittstelle enthält die benutzerdefinierten Methoden. Für volle Steuerelemente, Internet Explorer-Steuerelemente, einfache Objekte, Internet Explorer-Objekte, Add-in-Objekte, Active Server-Komponenten und Microsoft Transaction Server-Komponenten erstellt der Assistent eine Schnittstelle mit dem Namen, den Sie angeben. Für die Eigenschaftenseite Objekte keine benutzerdefinierte Schnittstelle wird erstellt, und der Assistent weist IUnknown wie die Objektschnittstelle. Dialogfeld Objekte Sie nicht erstellen eine Schnittstelle.
Typ ist eine Beschreibungszeichenfolge der für das Objekt, das in der Registrierung geht.
ProgID ist der Name, die Container anstelle der CLSID des Objekts verwenden können.
Attribute auf der Seite Wählen Sie eine threading Model, Schnittstellentyp und Aggregationsunterstützung:
Wählen Sie Duale Schnittstellen , wenn Sie das Objekt Schnittstellen ableiten von IDispatch sowie Ihre benutzerdefinierten Funktionen unterstützt (die Vtable enthält benutzerdefinierte Schnittstellenfunktionen sowie IDispatch -Methoden für spätes Binden). Dies ermöglicht sowohl COM-Clients als auch Automatisierungscontrollern Zugriff auf Ihr Objekt.
Wählen Sie Benutzerdefinierte Schnittstellen des Objekts Schnittstellen von ableiten IUnknown (die Vtable enthält benutzerdefinierte Schnittstellenfunktionen sowie IDispatch -Methoden). Eine benutzerdefinierte Schnittstelle kann insbesondere über Prozessgrenzen hinweg schneller als eine duale Schnittstelle sein.
Wählen Sie nur für die Aggregation, wenn Sie das Objekt instanziiert werden, nur wenn es aggregiert wird, ist.
Aktivieren Sie das Kontrollkästchen Unterstützung ISupportErrorInfo haben Ihr Objekt implementieren die ISupportErrorInfo -Schnittstelle für die Fehlerberichterstattung.
Aktivieren Sie das Kontrollkästchen Unterstützung Connection Points , Unterstützung für Verbindungspunkte für das Objekt hinzuzufügen. Der Assistent wird automatisch die Objektklasse von IConnectionPointContainerImpl abgeleitet.
Aktivieren Sie das Kontrollkästchen Free Threaded Marshaller erstellen Sie ein Objekt Freethread-Marshaller Schnittstellenzeiger zwischen Threads im gleichen Prozess effizient gemarshallt.
Verschiedenes auf der Seite Wählen Sie die Eigenschaften für das Objekt.
Wählen Sie deckend , das Steuerelement vollständig undurchsichtig, so dass keine Container hinter den Begrenzungen Steuerelements zeigt. Dies hilft des Containers das Steuerelement schneller zu zeichnen. Das gesamte Steuerelement-Rechteck übergeben die Steuerelementklasse OnDraw -Methode. Diese Option legt das VIEWSTATUS_OPAQUE -Bit in der VIEWSTATUS -Enumeration.
Wählen Sie die Volltonfarbe für den Hintergrund des Steuerelements Hintergrund eine Volltonfarbe und kein Muster zu machen. Diese Option ist sinnvoll, nur wenn die undurchsichtig Option ist auch ausgewählt ist. Diese Option legt das VIEWSTATUS_SOLIDBKGND -Bit in der VIEWSTATUS -enumeration.
Wählen Sie während der Laufzeit unsichtbar für das Steuerelement zur Laufzeit unsichtbar zu machen. Unsichtbare Steuerelemente können Sie Vorgänge im Hintergrund, wie z. B. das Auslösen von Ereignissen in festgelegten Intervallen durchführen.
Wählen Sie verhält sich wie Schaltfläche aktivieren Sie das Steuerelement als Schaltfläche fungieren insbesondere als Standardschaltfläche auf der Grundlage der ambient-Eigenschaft DisplayAsDefault angezeigt.
Wählen Sie verhält sich wie Bezeichnung , aktivieren Sie das Steuerelement, systemeigene Bezeichnung des Containers zu ersetzen.
Wählen Sie Hinzufügen-Steuerelement auf der Grundlage von auf Oberklasse eine der standard-Fenster-Klassen. Die Dropdownliste enthält Fensterklassennamen durch Windows definiert. Wenn Sie eine davon auswählen, fügt der Assistent eine CContainedWindow -Membervariable des Steuerelements-Klasse. CContainedWindow:: Create wird Oberklasse die Window-Klasse, die Sie angeben.
Wählen Sie "Normalisieren" DC für das Steuerelement einen normalisiertes Gerätekontext erstellt, wenn es aufgerufen wird, um sich selbst zu zeichnen. Diese standardisiert die Darstellung des Steuerelements, aber ist weniger effizient.
Wählen Sie Insertable , das Steuerelement von Anwendungen wie Microsoft Word und Microsoft Excel im Dialogfeld Objekt einfügen angezeigt. Das Steuerelement kann dann von jeder Anwendung eingefügt werden, die eingebettete Objekte über das Dialogfeld " Objekt einfügen ".
Wählen Sie Windowed nur Ihre Fenster, auch in Containern, die fensterlose Objekte unterstützen werden Steuerelement zu erzwingen. Wenn Sie diese Option nicht auswählen, wird das Steuerelement automatisch fensterlose in Containern, die fensterlose Objekte unterstützen, und automatisch Fenstermodus in Containern, die fensterlose Objekte unterstützen.
Wählen Sie in der Lager-Eigenschaftenseite die Basiseigenschaften, die Sie das Objekt, z. B. Beschriftung oder Rahmenfarbeunterstützen soll. Sie können alle vordefinierten Eigenschaften gleichzeitig auswählen, indem Sie die Gt; > Schaltfläche.
Zeichenfolgen auf der Seite geben Sie die Namen für die Eigenschaft Page-Objekt.
Titel ist auf der Eigenschaftenseite die Registerkarte angezeigten text.
Dokumentzeichenfolge ist eine Textzeichenfolge, die Beschreibung der Seite. Der Eigenschaftenrahmen konnte die Beschreibung in einen Status Linien- oder Tool Tipp verwenden. Die standard Eigenschaftenrahmen verwendet diese Zeichenfolge derzeit nicht.
HelpFile ist der Name der zugehörigen Hilfedatei. Name der Hilfedatei sollte den einfachen Namen ohne Pfad. Wenn der Benutzer Hilfe drückt, öffnet der Rahmen die Hilfe-Datei in das Verzeichnis in den Wert des HelpDir-Schlüssels in die Eigenschaft Seite Registrierungseinträge unter seine CLSID.
Wählen Sie auf der Seite Add-in Funktionen für das Add-in-Objekt.
Bieten Symbolleiste erstellt eine Symbolleisten-Schaltfläche, die der Benutzer klicken kann, um durchzuführen, einen Befehl, der vom Add-in-Objekt hinzugefügt.
Befehlsname ist der Name des Befehls, Visual C++ durch das Add-in-Objekt hinzugefügt. Dieser Name erscheint in der Liste auf der Registerkarte Add-Ins und Makrodateien im Menü Extras die Option Anpassen .
Methode ist der Name der Methode, die den Befehl implementiert.
Symbolleiste Text ist der Text, den Sie auf der Schaltfläche angezeigt werden, die Sie der Symbolleiste zu Ihrem Befehl hinzufügen möchten.
Status bar Text Sie der gewünschten Text in der Statuszeile angezeigt werden, wenn der Befehl ausgeführt wird ist.
Tooltips Text ist der Text in der QuickInfo-Meldung für die Symbolleisten-Schaltfläche angezeigt, wenn der Benutzer die Maus über die Schaltfläche hovert möchten.
Application-Ereignisse kann das Add-in-Objekt Application-Ereignisse abfangen.
Debugger-Ereignisse kann das Add-in-Objekt Debugger-Ereignisse abfangen.
Wählen Sie in der ASP -Seite Features für die Komponente Active Server.
OnStartPage/OnEndPage, standardmäßig aktiviert, fügt die OnStartPage und OnEndPage -Methode auf das Objekt.
Wenn OnStartPage/OnEndPage aktiviert ist, können Sie auswählen, welche Objekte Sie haben als Mitglied Zeiger in der Object-Klasse verfügbar. Standardmäßig wird jedes systeminterne Objekt überprüft.
Wählen Sie auf der Seite MTX -Features für die Komponente Microsoft Transaction Server. Dual und Benutzerdefiniert wählen Sie die Art der Schnittstelle implementiert, und Unterstützung Verbindungspunkte fügt Unterstützung für Verbindungspunkte. Diese Optionen sind die gleichen wie diejenigen auf der Seite Attribute für andere Arten von Objekten. Darüber hinaus hat die MTX -Seite zwei einzigartige Optionen:
Unterstützung IObjectControl ermöglicht den Zugriff auf die drei IObjectControl -Methoden: Activate, CanBePooled, und Deaktivieren.
Gebündelt werden können sagt der Transaction Server-Laufzeitumgebung, dass Ihr Objekt sollte nach Deaktivierung an eine Instanz-Pool zurückgegeben, anstatt zerstört. Diese Option kann nicht ausgewählt werden, es sei denn, die Unterstützung IObjectControl -Option auch aktiviert ist.