Creare un'interfaccia COM

Visual Studio offre procedure guidate e modelli che consentono di creare progetti che usano interfacce e dispinterface definite per COM per gli oggetti COM e le classi di automazione.

È possibile usare queste procedure guidate per svolgere le seguenti tre attività comuni:

  • Aggiunta del supporto ATL a un progetto MFC.

    Aggiungere il supporto ATL a un'applicazione MFC dopo aver creato un progetto MFC utilizzando la Creazione guidata per applicazione MFC ed eseguendo quindi la procedura guidata Aggiungi supporto ATL a MFC. Questo supporto si applica solo a oggetti COM semplici aggiunti a un progetto DLL o un file eseguibile MFC. Questi oggetti ATL possono avere più interfacce.

  • Creazione di un controllo ActiveX MFC.

    Aprire la Creazione guidata controllo ActiveX MFC per creare un controllo ActiveX con una dispinterface e una mappa eventi, definite rispettivamente nel file .idl e nella classe del controllo.

  • Aggiungi un controllo ATL.

    Usare una combinazione tra la Creazione guidata progetto ATL e la Creazione guidata controllo ATL per creare un controllo ActiveX ATL.

    È anche possibile aggiungere un controllo ATL a un progetto MFC al quale è stato aggiunto il supporto ATL, come descritto in precedenza. Inoltre se si seleziona Controllo ATL nella finestra di dialogo Aggiungi classe e il supporto ATL non è stato ancora aggiunto al progetto MFC, Visual Studio visualizza una finestra di dialogo che conferma l'aggiunta del supporto ATL al progetto MFC.

    Questa procedura guidata genera sorgenti IDL e uno schema COM nelle classi del progetto.

Dopo l'apertura di un progetto ATL, la finestra di dialogo Aggiungi classe consente di scegliere tra altre procedure guidate e modelli per l'aggiunta delle interfacce COM al progetto. Le seguenti procedure guidate consentono di stabilire una o più interfacce per l'oggetto:

È anche possibile implementare nuove interfacce nel controllo COM. È sufficiente fare clic con il pulsante destro del mouse sulla classe del controllo dell'oggetto in Visualizzazione classi e scegliere Implementa interfaccia.

Nota

In Visual Studio non è disponibile una procedura guidata per l'aggiunta di un'interfaccia a un progetto. È possibile aggiungere un'interfaccia a un progetto ATL o nel contesto dell'aggiunta del supporto ATL a un progetto MFC aggiungendo un oggetto semplice con la Creazione guidata oggetto semplice ATL. In alternativa, aprire il file IDL del progetto e creare l'interfaccia digitando quanto segue:

interface IMyInterface {
};

Per altre informazioni, vedere Implementare un'interfaccia e Aggiungere oggetti e controlli a un progetto ATL.

Visual C++ offre diversi modi per visualizzare e modificare le interfacce COM definite per i progetti. Visualizzazione classi visualizza le icone per ogni interfaccia o interfaccia di dispatch definita in un file .idl del progetto C++.

Per le classi di oggetti COM basate su ATL, Visualizzazione classi legge la mappa COM nella classe ATL per visualizzare la relazione tra la classe ATL e le interfacce che implementa.

In Visualizzazione classi e nei relativi menu di scelta rapida è possibile usare le interfacce come indicato di seguito:

  • Aggiungere gli oggetti ATL a un'applicazione basata su MFC.
  • Aggiungere metodi, proprietà ed eventi.
  • Passare direttamente al codice dell'interfaccia di un elemento facendo doppio clic sull'elemento.

In questa sezione

Modificare un'interfaccia COM

I comandi del menu di scelta rapida di Visualizzazione classi consentono di definire nuovi metodi e proprietà per le interfacce COM nei progetti Visual Studio C++. Nella casella degli strumenti è anche possibile definire eventi per i controlli ActiveX.

Per le classi di oggetti COM basati su ATL e MFC è possibile modificare l'implementazione della classe durante la modifica dell'interfaccia.

Nota

Per le interfacce definite al di fuori della finestra di dialogo Aggiungi classe, Visual C++ aggiunge i metodi o le proprietà al file con estensione idl e aggiunge stub alle classi che implementano i metodi, anche quando le interfacce vengono aggiunte manualmente.

Le tre procedure guidate seguenti consentono di personalizzare le interfacce esistenti. Sono disponibili da Class View:

Procedura guidata Tipo progetto
Aggiunta guidata proprietà Progetti ATL o MFC che supportano ATL. Fare clic con il pulsante destro del mouse sull'interfaccia a cui si vuole aggiungere la proprietà.

Visual C++ rileva il tipo di progetto e modifica le opzioni nella Creazione guidata proprietà, se necessario.

- Per le interfacce dispatch nei progetti creati tramite la Creazione guidata applicazione MFC, l'accesso alla procedura guidata Aggiungi Proprietà offre opzioni specifiche per MFC.
- Per le interfacce del controllo ActiveX MFC, la Add Property Wizard offre un elenco di metodi e proprietà predefiniti da utilizzare così come sono o da personalizzare per il tuo controllo.
- Per tutte le altre interfacce, le procedure guidate delle proprietà offrono opzioni utili nella maggior parte delle situazioni.
Procedura guidata per l'aggiunta di metodi Progetti ATL o MFC che supportano ATL. Fare clic con il pulsante destro del mouse sull'interfaccia a cui si vuole aggiungere il metodo.

Visual C++ rileva il tipo di progetto e modifica le opzioni dell'Add Method Wizard in base alle necessità.

- Per le interfacce dispatch nei progetti creati tramite la Creazione guidata applicazione MFC, l'uso della Creazione guidata Aggiungi metodo offre opzioni specifiche di MFC.
- Per le interfacce del controllo ActiveX MFC, la procedura guidata Aggiunta Metodo offre un elenco di metodi e proprietà predefiniti che puoi utilizzare così come sono o personalizzare per il tuo controllo.
- Per tutte le altre interfacce, le procedure guidate Aggiungi metodo offrono opzioni utili nella maggior parte delle situazioni.

È anche possibile implementare nuove interfacce nel controllo COM. È sufficiente fare clic con il pulsante destro del mouse sulla classe del controllo dell'oggetto in Visualizzazione classi e scegliere Implementa interfaccia.