Dodawanie metody IDL MFC
Kreator dodawania metody IDL MFC dodaje metodę do interfejsu biblioteki IDL (Interface Definition Library) zdefiniowanego w projekcie Klasy platformy Microsoft (MFC). Jeśli projekt zawiera klasę skojarzona z interfejsem, kreator dodaje również metodę do klasy.
Aby użyć tego kreatora, musisz znajdować się w projekcie MFC, projekcie ActiveX lub projekcie ATL obsługującym MFC. Jeśli na przykład masz projekt kontrolki Microsoft ActiveX, możesz użyć poniższej procedury, aby dodać metodę do interfejsu IDL w rozwiązaniu.
Ten kreator różni się od kreatora Dodawania metody (który dodaje metodę do interfejsu IDL) w następujący sposób:
Jest to specyficzne dla projektów MFC, ActiveX lub ATL, które obsługują MFC. W przypadku projektów ATL, które nie obsługują MFC, dostępny jest tylko kreator dodawania metody .
Dodaje następujące wpisy, jeśli w projekcie znajduje się mapa Dispatch:
BEGIN_DISPATCH_MAP(CMFCApplication2Doc, CDocument) DISP_FUNCTION_ID(CMFCApplication2Doc, "methodName", dispidmethodName, internalName, VT_EMPTY, VTS_NONE) END_DISPATCH_MAP()
Generuje ona następującą implementację skojarzonej metody:
void CMFCApplication2Doc::internalName() { AFX_MANAGE_STATE(AfxGetAppModuleState()); // TODO: Add your dispatch handler code here }
Dodawanie metody do interfejsu
W menu Widok wybierz pozycję Widok klasy.
W widoku klasy rozwiń węzeł projektu, aby wyświetlić interfejs, do którego chcesz dodać metodę.
Kliknij prawym przyciskiem myszy nazwę interfejsu.
W menu skrótów wybierz pozycję Dodaj , a następnie wybierz pozycję Dodaj metodę.
W kreatorze Dodawanie metody IDL MFC podaj informacje o metodzie .
Wybierz przycisk OK , aby dodać metodę.
Lista elementów interfejsu użytkownika
W poniższej sekcji opisano interfejs użytkownika kreatora dodawania metody IDL MFC:
Nazwa metody
Ustaw nazwę metody . W poniższej tabeli opisano opcje nazwy metody w zależności od rodzaju interfejsu:
Rodzaj interfejsu Nazwa metody Podwójny interfejs ATL, interfejs niestandardowy i lokalny interfejs niestandardowy Podaj własną nazwę metody. MFC dispinterface Podaj własną nazwę metody lub wybierz sugerowaną nazwę metody z listy. Jeśli wybierzesz nazwę z listy, odpowiedni typ zwracany pojawi się w polu Zwracany typ i nie można go zmienić. Dispinterface kontrolki ActiveX MFC Podaj własną nazwę metody lub wybierz jedną z metod standardowych: DoClick lub Refresh. Aby uzyskać więcej informacji na temat metod zapasów, zobacz MFC ActiveX controls: Adding stock methods (Kontrolki ActiveX MFC: dodawanie metod zapasów). Nazwa wewnętrzna
Dostępne tylko wtedy, gdy typ metody jest niestandardowy. Nazwa wewnętrzna to nazwa , która będzie używana w mapie wysyłania, pliku nagłówka (h) i pliku implementacji (.cpp). Domyślnie ta nazwa jest taka sama jak nazwa metody. Dodano go do MFC dispinterface.
Jeśli dodasz metodę do kontrolki MFC lub MFC ActiveX dispinterface, możesz zmienić nazwę metody zgodnie z opisem w poniższej tabeli:
Typ interfejsu Nazwa wewnętrzna Podwójny interfejs ATL, interfejs niestandardowy i lokalny interfejs niestandardowy Niedostępne. MFC dispinterface Ustaw domyślną nazwę metody. Możesz edytować nazwę wewnętrzną. Dispinterface kontrolki ActiveX MFC Możesz ustawić nazwę wewnętrzną tylko dla metod niestandardowych. Metody stockowe nie używają nazwy wewnętrznej. Zwracany typ
Typ danych zwracany przez metodę . Standardowy typ zwracany dla metod interfejsu to
HRESULT
.Jeśli interfejs jest interfejsem podwójnym lub interfejsem niestandardowym, dozwolony jest tylko
HRESULT
zwracany typ.Typ danych można ustawić zgodnie z typem interfejsu, do którego jest dodawana metoda, zgodnie z opisem w poniższej tabeli:
Rodzaj interfejsu Typ zwracany Podwójny interfejs HRESULT
. Niezmienne.Interfejs niestandardowy HRESULT
. Niezmienne.Lokalny interfejs niestandardowy Podaj własny typ zwrotu lub wybierz jeden z listy. Dispinterface Podaj własny typ zwrotu lub wybierz jeden z listy. Dispinterface kontrolki ActiveX MFC Jeśli zaimplementujesz metodę stockową, zwracany typ jest ustawiony na odpowiednią wartość i jest niezmieniony. Jeśli wybierzesz metodę z listy Nazwa metody i wybierz pozycję Niestandardowy w obszarze Wybierz typ metody, wybierz typ zwracany z listy. Typ metody
Dostępne tylko dla kontrolek ActiveX MFC. Niedostępne, jeśli podano nazwę metody w nazwie metody zamiast wybierać metodę z listy.
Jeśli wybierzesz jedną z metod na liście Nazwa metody, na liście rozwijanej Typ metody wybierz implementację Stock lub Custom . Wybór metody wpływa na typ zwracany i implementację metody, którą udostępnia kreator, zgodnie z opisem w poniższej tabeli:
Typ metody opis Skład Domyślnie. Wstawia domyślną implementację metody wybranej na liście Nazwa metody. Zwracany typ jest niezmieniony, jeśli wybierzesz pozycję Stock (Akcje). Okres niestandardowy Należy podać niestandardową implementację dla metody wybranej w polu Nazwa metody. Możesz podać własny typ zwracany lub wybrać jeden z listy Zwracany typ . Parametry
Wyświetla parametry, modyfikatory i typy metody. Kreator aktualizuje listę Parametry podczas dodawania parametrów.
+
Dodaj parametr. W obszarze Parametry wpisz typ parametru, nazwę i wszelkie modyfikatory. Na przykład
int x
, i wybierz przycisk OK.Jeśli nie podasz nazwy parametru, kreator ignoruje wszystkie opcje Typ parametru, a w przypadku projektów ATL atrybuty parametrów są również ignorowane.
x
Usuwa wybrany parametr z listy Parametry .
Ikona ołówka
Edytuj wybrany parametr.
id
Ustawia identyfikator liczbowy identyfikujący metodę. Aby uzyskać więcej informacji, zobacz
id
w dokumentacji MIDL.call_as
Określa nazwę metody zdalnej do mapowania na tę metodę lokalną. Aby uzyskać więcej informacji, zobacz
call_as
w dokumentacji MIDL.helpcontext
Określa identyfikator kontekstu, który umożliwia użytkownikowi wyświetlanie informacji o tej metodzie w pliku Pomocy. Aby uzyskać więcej informacji, zobacz
helpcontext
w dokumentacji MIDL.helpstring
Określa tekst opisujący skojarzony element. Domyślnie jej nazwa metody. Aby uzyskać więcej informacji, zobacz helpstring w dokumentacji MIDL.
Zobacz też
Kreator dodawania metody
Kreator dodawania metody IDL
Kreatory i okna dialogowe MFC