Freigeben über


Hinzufügen einer IDL MFC-Methode

Der Assistent zum Hinzufügen von IDL MFC-Methoden fügt eine Methode zu einer IDL-Schnittstelle (Interface Definition Library) hinzu, die in Ihrem Microsoft Framework-Klassenprojekt (MFC) definiert ist. Wenn das Projekt eine Klasse enthält, die der Schnittstelle zugeordnet ist, fügt der Assistent auch die Methode der Klasse hinzu.

Um diesen Assistenten zu verwenden, müssen Sie sich in einem MFC-Projekt, einem ActiveX-Projekt oder einem ATL-Projekt, das MFC unterstützt, verwenden. Wenn Sie beispielsweise über ein Microsoft ActiveX-Steuerelementprojekt verfügen, können Sie das folgende Verfahren verwenden, um einer IDL-Schnittstelle in der Lösung eine Methode hinzuzufügen.

Dieser Assistent unterscheidet sich vom Assistenten zum Hinzufügen von Methoden (der eine Methode zu einer IDL-Schnittstelle hinzufügt) auf folgende Weise:

  • Es ist spezifisch für MFC-, ActiveX- oder ATL-Projekte, die MFC unterstützen. Für ATL-Projekte, die MFC nicht unterstützen, ist nur der Assistent zum Hinzufügen von Methoden verfügbar.

  • Es fügt die folgenden Einträge hinzu, wenn eine Verteilerzuordnung im Projekt gefunden wird:

    BEGIN_DISPATCH_MAP(CMFCApplication2Doc, CDocument)
        DISP_FUNCTION_ID(CMFCApplication2Doc, "methodName", dispidmethodName, internalName, VT_EMPTY, VTS_NONE)
    END_DISPATCH_MAP()
    
  • Es generiert die folgende zugeordnete Methodenimplementierung:

    void CMFCApplication2Doc::internalName()
    {
         AFX_MANAGE_STATE(AfxGetAppModuleState());
         // TODO: Add your dispatch handler code here
    }
    

Hinzufügen einer Methode zu einer Schnittstelle

  1. Wählen Sie im Menü Ansicht die Option Klassenansicht aus.

  2. Erweitern Sie den Projektknoten in der Klassenansicht, um die Schnittstelle anzuzeigen, der die Methode hinzugefügt werden soll.

  3. Klicken Sie mit der rechten Maustaste auf den Namen der Schnittstelle.

  4. Wählen Sie im Kontextmenü "Hinzufügen" und dann "Methode hinzufügen" aus.

  5. Geben Sie im Assistenten zum Hinzufügen von IDL MFC-Methoden Informationen zur Methode an.

  6. Wählen Sie OK aus, um die Methode hinzuzufügen.

Liste der Benutzeroberflächenelemente

Im folgenden Abschnitt wird die Benutzeroberfläche des Assistenten zum Hinzufügen von IDL MFC-Methoden beschrieben:

Wizard UI. Method name:DoClick, Internal name:DoClick, Return type:void, Method type:custom, Parameters:long l, char C, Attributes id:1.

  • Methodenname

    Legen Sie den Namen für die Methode fest. In der folgenden Tabelle werden die Methodennamenoptionen je nach Art der Schnittstelle beschrieben:

    Schnittstellenart Methodenname
    Duale ATL-Schnittstelle, benutzerdefinierte Schnittstelle, lokale benutzerdefinierte Schnittstelle Geben Sie einen eigenen Methodennamen an.
    MFC-Disp-Schnittstelle Geben Sie einen eigenen Methodennamen an, oder wählen Sie einen vorgeschlagenen Methodennamen aus der Liste aus. Wenn Sie einen Namen aus der Liste auswählen, wird der entsprechende Rückgabetyp im Rückgabetyp angezeigt und kann nicht geändert werden.
    Disp-Schnittstelle des MFC-ActiveX-Steuerelements Geben Sie Ihren eigenen Methodennamen an, oder wählen Sie eine der Aktienmethoden aus: DoClick oder Refresh. Weitere Informationen zu Aktienmethoden finden Sie unter MFC ActiveX-Steuerelemente: Hinzufügen von Stock-Methoden.
  • Interner Name

    Nur verfügbar, wenn der Methodentyp benutzerdefiniert ist. Interner Name ist der Name , der in der Verteilerzuordnung, der Headerdatei (H) und der Implementierungsdatei (.cpp) verwendet wird. Standardmäßig stimmt dieser Name mit dem Methodennamen überein. Sie wird zur MFC-Dispinterface hinzugefügt.

    Wenn Sie die Methode zu einer MFC- oder MFC ActiveX-Steuerelementdispinterface hinzufügen, können Sie den Methodennamen wie in der folgenden Tabelle beschrieben ändern:

    Schnittstellentyp Interner Name
    Duale ATL-Schnittstelle, benutzerdefinierte Schnittstelle, lokale benutzerdefinierte Schnittstelle Nicht verfügbar.
    MFC-Disp-Schnittstelle Wird standardmäßig auf den Methodennamen festgelegt. Sie können den internen Namen bearbeiten.
    Disp-Schnittstelle des MFC-ActiveX-Steuerelements Sie können den internen Namen nur für benutzerdefinierte Methoden festlegen. Vordefinierte Methoden verwenden keinen internen Namen.
  • Rückgabetyp

    Der von der Methode zurückgegebene Datentyp. Der Standard-Rückgabetyp für Schnittstellenmethoden lautet HRESULT.

    Wenn es sich bei der Schnittstelle um eine duale Schnittstelle oder eine benutzerdefinierte Schnittstelle handelt, ist nur der HRESULT Rückgabetyp zulässig.

    Sie können den Datentyp entsprechend der Art der Schnittstelle festlegen, der die Methode hinzugefügt wird, wie in der folgenden Tabelle beschrieben:

    Schnittstellenart Rückgabetyp
    Duale Schnittstelle HRESULT. Kann nicht geändert werden.
    Benutzerdefinierte Schnittstelle HRESULT. Kann nicht geändert werden.
    Lokale benutzerdefinierte Schnittstelle Geben Sie Ihren eigenen Rückgabetyp ein, oder wählen Sie einen aus der Liste aus.
    Disp-Schnittstelle Geben Sie Ihren eigenen Rückgabetyp ein, oder wählen Sie einen aus der Liste aus.
    Disp-Schnittstelle des MFC-ActiveX-Steuerelements Wenn Sie eine vordefinierte Methode implementieren, wird der Rückgabetyp auf den entsprechenden Wert festgelegt und kann nicht geändert werden. Wenn Sie eine Methode aus der Liste der Methodennamen auswählen und unter "Methodentyp auswählen" "Benutzerdefiniert" auswählen, wählen Sie einen Rückgabetyp aus der Liste aus.
  • Methodentyp

    Nur für MFC-ActiveX-Steuerelemente verfügbar. Nicht verfügbar, wenn Sie einen Methodennamen im Methodennamen angegeben haben, anstatt eine Methode aus der Liste auszuwählen.

    Wenn Sie eine der Methoden in der Liste "Methodennamen" auswählen, wählen Sie in der Dropdownliste "Methodentyp" entweder die Implementierung "Stock" oder "Benutzerdefiniert" aus. Die Auswahl der Methode wirkt sich auf den Rückgabetyp und die Methodenimplementierung aus, die der Assistent bereitstellt, wie in der folgenden Tabelle beschrieben:

    Methodentyp Beschreibung
    Stock Der Standardwert. Fügt die Standardimplementierung der methode ein, die in der Liste der Methodennamen ausgewählt ist. Rückgabetyp kann nicht geändert werden, wenn Sie Stock (Vordefiniert) auswählen.
    Benutzerdefiniert Sie stellen eine benutzerdefinierte Implementierung für die im Methodennamen ausgewählte Methode bereit. Sie können Ihren eigenen Rückgabetyp angeben oder einen aus der Rückgabetypliste auswählen.
  • Parameter

    Zeigt die Parameter, Modifizierer und Typen der Methode an. Der Assistent aktualisiert die Liste Parameter, während Sie Parameter hinzufügen.

  • +

    Fügen Sie einen Parameter hinzu. Geben Sie in Parameter den Typ, den Namen und alle Modifizierer des Parameters ein. Beispielsweise int x, und wählen Sie OK aus.

    Wenn Sie keinen Parameternamen angeben, ignoriert der Assistent alle Parametertypauswahlen . Bei ATL-Projekten werden die Parameterattribute ebenfalls ignoriert.

  • x

    Entfernt den ausgewählten Parameter aus der Liste Parameter.

  • Stiftsymbol

    Bearbeiten des ausgewählten Parameters.

  • id

    Legt die numerische ID fest, die die Methode identifiziert. Weitere Informationen finden Sie in id der MIDL-Referenz.

  • call_as

    Gibt den Namen der Remotemethode an, die dieser lokalen Methode zugeordnet werden soll. Weitere Informationen finden Sie in call_as der MIDL-Referenz.

  • helpcontext

    Gibt eine Kontext-ID an, die das Anzeigen von Informationen über diese Methode in der Hilfedatei ermöglicht. Weitere Informationen finden Sie in helpcontext der MIDL-Referenz.

  • helpstring

    Gibt einen Text an, der das zugeordnete Element beschreibt. Der Name der Methode ist standardmäßig vorhanden. Weitere Informationen finden Sie in der HILFEzeichenfolge in der MIDL-Referenz.

Siehe auch

Assistent zum Hinzufügen von Methoden
Assistent zum Hinzufügen von IDL-Methoden
MFC-Assistenten und Dialogfelder