ActiveX с нуля

         

Использование пользовательского свойства шрифта.


Чтобы реализовать пользовательское свойство, добавьте его с помощью ClassWizard, а затем вручную измените код:

1.

Загрузите Ваш проект.

2.      В меню View выберете ClassWizard.

3.      Выберете вкладку Automation.

4.      Выберете имя класса из списка Class name.

5.      Щелкните на кнопке Add Property.

6.      В списке External Name впечатайте нужное свойство, например, HeadingFont.

7.      При этом в группе Implementation выберете Get/Set Methods.

8.      В списке Return Type выберете LPFONTDISP.

9.      Щелкните на кнопке OK для закрытия диалога Add Property.

10.  Щелкните на кнопке Ok для закрытия ClassWizard.

ClassWizard создаст код в карте диспетчеризации:

DISP_PROPERTY_EX(CSampleCtrl, "HeadingFont", GetHeadingFont,

   SetHeadingFont, VT_DISPATCH)

Макрос DISP_PROPERTY_EX



связывает свойство HeadingFont с соответствующими методами Get and Set -  GetHeadingFont and SetHeadingFont. Тип этого свойства -  VT_DISPATCH.

ClassWizard также добавляет объявление методов GetHeadingFont и SetHeadingFont в файлы .H, а их реализацию – в файл .CPP:

LPDISPATCH CMyCtrlCtrl::GetHeadingFont()

{

 // TODO: Add your property handler here

 return NULL;

}

void CMyCtrlCtrl::SetHeadingFont(LPDISPATCH newValue)

{

 // TODO: Add your property handler here

 SetModifiedFlag();

}

Наконец, ClassWizard изменяет .ODL файл:

[id(1)] IDispatch* HeadingFont;



Содержание раздела