Tworzenie interfejsu COM

Program Visual Studio udostępnia kreatory i szablony do tworzenia projektów korzystających z interfejsów definiujących interfejsy COM i dispinterfaces dla obiektów COM i klas automatyzacji.

Za pomocą tych kreatorów można wykonywać następujące trzy typowe zadania:

  • Dodaj obsługę ATL do projektu MFC.

    Dodanie obsługi ATL do aplikacji MFC po utworzeniu projektu MFC przy użyciu kreatora aplikacji MFC, a następnie uruchomienie kreatora Dodawania obsługi ATL do kodu MFC . Ta obsługa dotyczy tylko prostych obiektów COM dodanych do pliku wykonywalnego MFC lub projektu DLL. Te obiekty ATL mogą mieć więcej niż jeden interfejs.

  • Utwórz kontrolkę ActiveX MFC.

    Otwórz kreator kontrolek MFC ActiveX, aby utworzyć kontrolkę ActiveX z interfejsem typu dispinterface i mapą zdarzeń zdefiniowanymi odpowiednio w pliku .idl oraz klasie kontrolki.

  • Dodaj kontrolkę ATL.

    Użyj kombinacji kreatora projektu ATL i kreatora kontrolki ATL, aby utworzyć kontrolkę ActiveX ATL.

    Możesz również dodać kontrolkę ATL do projektu MFC, do którego dodano obsługę ATL, zgodnie z powyższym opisem. Ponadto w przypadku wybrania kontrolki ATL w oknie dialogowym Dodawanie klasy i nie dodano jeszcze obsługi ATL do projektu MFC, program Visual Studio wyświetla okno dialogowe potwierdzające dodanie obsługi ATL do projektu MFC.

    Ten kreator generuje źródło IDL i mapę COM w klasach projektu.

Po otwarciu projektu ATL, okno dialogowe Dodaj klasę umożliwia wybór dodatkowych kreatorów i szablonów do dodania interfejsów COM do projektu. Następujące kreatory umożliwiają ustanowienie co najmniej jednego interfejsu dla obiektu:

Ponadto można zaimplementować nowe interfejsy w kontrolce COM. Wystarczy kliknąć prawym przyciskiem myszy klasę sterowania obiektu w widoku klasy i wybrać polecenie Zaimplementuj interfejs.

Uwaga

Program Visual Studio nie udostępnia kreatora dodawania interfejsu do projektu. Interfejs można dodać do projektu ATL lub dodać obsługę ATL do projektu MFC, dodając prosty obiekt za pomocą kreatora prostego obiektu ATL. Alternatywnie otwórz plik idl projektu i utwórz interfejs, wpisując:

interface IMyInterface {
};

Aby uzyskać więcej informacji, zobacz Implementowanie interfejsu i Dodawanie obiektów i kontrolek do projektu ATL.

Język Visual C++ udostępnia kilka sposobów wyświetlania i edytowania interfejsów COM zdefiniowanych dla projektów. Widok klas wyświetla ikony dla dowolnego interfejsu lub dispinterface zdefiniowanego w pliku .idl w projekcie C++.

W przypadku klas obiektów COM opartych na ATL widok klas odczytuje mapę COM w klasie ATL, aby wyświetlić relację między klasą ATL a wszystkimi implementami interfejsów.

W widoku klasy i jego menu skrótów można pracować z interfejsami w następujący sposób:

  • Dodaj obiekty ATL do aplikacji opartej na MFC.
  • Dodaj metody, właściwości i zdarzenia.
  • Przejdź bezpośrednio do kodu interfejsu elementu, klikając dwukrotnie element.

W tej sekcji

Edytowanie interfejsu COM

Za pomocą poleceń z menu skrótów Widok klas można zdefiniować nowe metody i właściwości interfejsów COM w projektach visual Studio C++. Z przybornika można również zdefiniować zdarzenia dla kontrolek ActiveX.

W przypadku klas obiektów COM opartych na ATL i MFC można edytować implementację klasy jednocześnie z edycją interfejsu.

Uwaga

W przypadku interfejsów zdefiniowanych poza oknem dialogowym Dodawanie klasy program Visual C++ dodaje metody lub właściwości do pliku idl i dodaje wycinki do klas implementujących metody, nawet jeśli interfejsy są dodawane ręcznie.

Poniższe trzy kreatory ułatwiają dostosowywanie istniejących interfejsów. Są one dostępne w widoku klas:

Kreator Typ projektu
Kreator dodawania właściwości Projekty ATL lub MFC, które wspierają ATL. Kliknij prawym przyciskiem myszy interfejs, do którego chcesz dodać właściwość.

Visual C++ wykrywa typ projektu i modyfikuje opcje w Kreatorze dodawania właściwości w razie potrzeby:

— W przypadku dispinterfaces w projektach utworzonych za pomocą kreatora aplikacji MFC wywoływanie Kreatora dodawania właściwości udostępnia opcje specyficzne dla MFC.
- Dla interfejsów kontrolek ActiveX MFC, Kreator dodawania właściwości udostępnia listę standardowych metod i właściwości, które można wykorzystać w formie dostarczonej lub dostosować do swojej kontrolki.
— Dla wszystkich innych interfejsów Kreatory dodawania właściwości udostępniają opcje przydatne w większości sytuacji.
Kreator metody dodawania Projekty ATL lub MFC, które wspierają ATL. Kliknij prawym przyciskiem myszy interfejs, do którego chcesz dodać metodę.

Visual C++ wykrywa typ projektu i modyfikuje opcje w Kreatorze dodawania metody w razie potrzeby:

— W przypadku dispinterfaces w projektach utworzonych za pomocą kreatora aplikacji MFC, użycie Kreatora dodawania metod udostępnia opcje specyficzne dla MFC.
- W przypadku interfejsów kontrolek ActiveX MFC Kreator dodawania metody udostępnia listę dostępnych metod i właściwości, których można użyć w formie dostarczonej lub dostosować do swojej kontrolki.
— W przypadku wszystkich innych interfejsów kreatory dodaj metodę udostępniają opcje przydatne w większości sytuacji.

Ponadto można zaimplementować nowe interfejsy w kontrolce COM. Wystarczy kliknąć prawym przyciskiem myszy klasę sterowania obiektu w widoku klasy i wybrać polecenie Zaimplementuj interfejs.