Если вы используете шаблон VS08 MFC ActiveX, вы можете увидеть такой фрагмент в файле .h вашего элемента управления (в объявлении класса он защищен):
afx_msg void AboutBox();
DECLARE_DISPATCH_MAP()
И такой в файле .cpp:
// Dispatch map
BEGIN_DISPATCH_MAP(CActiveXOutlookCtrl, COleControl)
DISP_FUNCTION_ID(yourCtrl, "AboutBox", DISPID_ABOUTBOX, AboutBox, VT_EMPTY, VTS_NONE)
END_DISPATCH_MAP()
Мне никогда не приходилось использовать это, но это ваш диспетчерский интерфейс - то есть методы вашего объекта, которые могут вызывать другие. Что это значит:
- "AboutBox" - это имя, которое они используют для его вызова.
- DISPID_ABOUTBOX - это целочисленный идентификатор для функции (я думаю, что это произвольно. Я бы использовал положительное число, потому что по умолчанию берется много негативов).
- AboutBox - имя метода.
- VT_EMPTY - тип возвращаемого значения метода.
- VTS_NONE - это тип параметров, которые он принимает.
Также есть DECLARE_MESSAGE_MAP () и DECLARE_EVENT_MAP (), что также может быть о том, что вы хотите.