Condividi tramite


Aggiunta di una nuova interfaccia in un progetto ATL

Quando si aggiunge un'interfaccia a un oggetto o a un controllo, si creano funzioni generate automaticamente per ciascun metodo dell'interfaccia. In un oggetto o in un controllo, è possibile aggiungere solo le interfacce attualmente presenti in una libreria dei tipi esistente. La classe in cui viene aggiunta l'interfaccia deve inoltre implementare la macro BEGIN_COM_MAP oppure, in caso di progetto con attributi, deve essere dotata dell'attributo coclass.

È possibile aggiungere una nuova interfaccia a un controllo in due diversi modi: manualmente o mediante una creazione guidata codice in Visualizzazione classi.

Per aggiungere un'interfaccia a un oggetto o controllo esistente mediante una creazione guidata codice in Visualizzazione classi

  1. In Visualizzazione classi fare clic con il pulsante destro del mouse sul nome di classe di un controllo. Questo può corrispondere, ad esempio, a un controllo completo o composto oppure a qualsiasi classe di controlli che implementi una macro BEGIN_COM_MAP nel relativo file di intestazione.

  2. Scegliere Aggiungi dal menu di scelta rapida e quindi Implementa interfaccia.

  3. Selezionare le interfacce da implementare nell'Implementazione guidata interfaccia. Se l'interfaccia non è presente in una delle librerie dei tipi disponibili, effettuarne l'aggiunta manuale nel file IDL.

Per aggiungere manualmente una nuova interfaccia

  1. Aggiungere la definizione della nuova interfaccia nel file IDL.

  2. Derivare l'oggetto o il controllo dall'interfaccia.

  3. Creare una nuova COM_INTERFACE_ENTRY per l'interfaccia oppure, in caso di progetto con attributi, aggiungere l'attributo coclass.

  4. Implementare i metodi nell'interfaccia.

Vedere anche

Attività

Creazione di progetti tramite le creazioni guidate applicazioni

Riferimenti

Creazione guidata progetto ATL

Fundamentals of ATL COM Objects

Configurazioni predefinite di progetti ATL

Concetti

Progetti di Visual C++

Programming with ATL and C Run-Time Code