Поделиться через


Добавление метода IDL MFC

Мастер добавления метода IDL MFC добавляет метод в интерфейс библиотеки определений интерфейса (IDL), определенный в проекте класса Microsoft Framework (MFC). Если проект содержит класс, сопоставленный с интерфейсом, мастер также добавляет метод в этот класс.

Чтобы использовать этот мастер, необходимо находиться в проекте MFC, проекте ActiveX или проекте ATL, поддерживающем MFC. Например, если у вас есть проект элемента управления Microsoft ActiveX, можно использовать следующую процедуру, чтобы добавить метод в интерфейс IDL в решении.

Этот мастер отличается от мастера добавления методов (который добавляет метод в интерфейс IDL) следующим образом:

  • Это зависит от проектов MFC, ActiveX или ATL, поддерживающих MFC. Для проектов ATL, которые не поддерживают MFC, доступен только мастер добавления методов .

  • Он добавляет следующие записи, если карта диспетчера найдена в проекте:

    BEGIN_DISPATCH_MAP(CMFCApplication2Doc, CDocument)
        DISP_FUNCTION_ID(CMFCApplication2Doc, "methodName", dispidmethodName, internalName, VT_EMPTY, VTS_NONE)
    END_DISPATCH_MAP()
    
  • Он создает следующую связанную реализацию метода:

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

Добавление метода в интерфейс

  1. В меню Вид выберите Представление классов.

  2. В представлении классов разверните узел проекта, чтобы отобразить интерфейс, в который нужно добавить метод.

  3. Щелкните имя интерфейса правой кнопкой мыши.

  4. В контекстном меню выберите "Добавить " и выберите " Добавить метод".

  5. В мастере добавления метода IDL MFC укажите сведения о методе.

  6. Нажмите кнопку ОК, чтобы добавить метод.

Список элементов пользовательского интерфейса

В следующем разделе описывается пользовательский интерфейс мастера добавления методов MFC для IDL:

Пользовательский интерфейс мастера. Имя метода:DoClick, внутреннее имя:DoClick, Возвращаемый тип:void, тип метода:custom, Parameters:long l, char C, Атрибуты id:1.

  • Имя метода

    Задайте имя метода. В следующей таблице описаны параметры имени метода в зависимости от типа интерфейса:

    Вид интерфейса Имя метода
    Двойной интерфейс ATL, настраиваемый интерфейс и локальный настраиваемый интерфейс Укажите собственное имя метода.
    Disp-интерфейс MFC Укажите собственное имя метода или выберите предложенное имя из списка. Если выбрать имя из списка, соответствующий тип возвращаемого значения отображается в типе возвращаемого значения и не может быть изменен.
    Disp-интерфейс элементов управления ActiveX MFC Укажите собственное имя метода или выберите один из методов акций: DoClick или Refresh. Дополнительные сведения о методах акций см. в элементах управления MFC ActiveX: добавление методов акций.
  • Внутреннее имя

    Доступно только в том случае, если тип метода является настраиваемым. Внутреннее имя — это имя , которое будет использоваться в карте отправки, файле заголовка (H) и файле реализации (.cpp). По умолчанию это имя совпадает со значением Имя метода. Он добавляется в MFC dispinterface.

    Если вы добавляете метод в элемент управления MFC или MFC ActiveX dispinterface, можно изменить имя метода, как описано в следующей таблице:

    Тип интерфейса Внутреннее имя
    Двойной интерфейс ATL, настраиваемый интерфейс и локальный настраиваемый интерфейс Недоступна.
    Disp-интерфейс MFC Задайте имя метода по умолчанию. Вы можете изменить внутреннее имя.
    Disp-интерфейс элементов управления ActiveX MFC Вы можете задать внутреннее имя только для пользовательских методов. Стандартные методы не используют внутреннее имя.
  • Return Type (Возвращаемый тип)

    Тип данных, возвращаемых методом. Стандартный тип возвращаемого значения для методов интерфейса.HRESULT

    Если интерфейс является двойным интерфейсом или пользовательским интерфейсом, допускается только HRESULT возвращаемый тип.

    Тип данных можно задать в соответствии с типом интерфейса, в который добавляется метод, как описано в следующей таблице:

    Вид интерфейса Возвращаемый тип
    Двойной интерфейс HRESULT. Неизменяемый.
    Настраиваемый интерфейс HRESULT. Неизменяемый.
    Локальный настраиваемый интерфейс Укажите собственный тип возврата или выберите один из списка.
    Dispinterface Укажите собственный тип возврата или выберите один из списка.
    Disp-интерфейс элементов управления ActiveX MFC Если вы реализуете стандартный метод, для типа возвращаемого значения задается соответствующее значение, которое является неизменяемым. Если выбрать метод из списка имен метода и выбрать настраиваемый в разделе "Выбор типа метода", выберите тип возвращаемого значения из списка.
  • Тип метода

    Доступен только для элементов управления ActiveX MFC. Недоступно, если вы указали имя метода в имени метода, а не выберите метод из списка.

    Если выбрать один из методов в списке имен метода, в раскрывающемся списке "Тип метода " выберите реализацию Stock или Custom . Выбор метода влияет на тип возврата и реализацию метода, которую предоставляет мастер, как описано в следующей таблице:

    Тип метода Description
    Биржевая По умолчанию. Вставляет реализацию метода по умолчанию, выбранного в списке имен метода. При выборе параметра Биржевая значение Тип возвращаемого значения является неизменяемым.
    Пользовательское Вы предоставляете настраиваемую реализацию для метода, выбранного в имени метода. Вы можете указать собственный тип возвращаемого значения или выбрать его из списка возвращаемых типов .
  • Параметры

    Отображает параметры, модификаторы и типы метода. При добавлении параметров мастер обновляет список Параметры.

  • +

    Добавьте параметр. В разделе Параметры введите тип параметра, имя и все модификаторы, например int x, и нажмите кнопку ОК.

    Если имя параметра не указано, мастер игнорирует выбор типов параметров, а для проектов ATL атрибуты параметров также игнорируются.

  • x

    Удаляет выбранный параметр из списка Параметры.

  • Значок карандаша

    Позволяет изменить выбранный параметр.

  • id

    Задает для метода числовой идентификатор. Дополнительные сведения смid. в справочнике ПО MIDL.

  • call_as

    Указывает имя удаленного метода для сопоставления с этим локальным методом. Дополнительные сведения смcall_as. в справочнике ПО MIDL.

  • helpcontext

    Задает идентификатор контекста, позволяющий пользователю просматривать в файле справки информацию об этом методе. Дополнительные сведения смhelpcontext. в справочнике ПО MIDL.

  • helpstring

    Указывает текст, описывающий связанный элемент. По умолчанию его имя метода. Дополнительные сведения см. в справке по MIDL.

См. также

Мастер добавления метода
Мастер "Добавление метода IDL"
Мастера и диалоговые окна MFC