На этом шаге мы рассмотрим алгоритм добавления свойства NumberOfSymbols.
Добавим в класс элемента специальное свойство NumberOfSymbols.
Рис.1. Добавление свойства
Рис.2. Окно Add Property To Interface
Рис.3. Добавление переменной m_numberOfSymbols
STDMETHODIMP CATLBandit::get_NumberOfSymbols(short *pVal) { *pVal = m_numberOfSymbols; return S_OK; } STDMETHODIMP CATLBandit::put_NumberOfSymbols(short newVal) { newVal = newVal < 3 ? 3 : newVal; newVal = newVal > 7 ? 7 : newVal; m_numberOfSymbols = newVal; SetDirty(TRUE); return S_OK; }
Рис.4. Функция get_NumberOfSymbols()
Заметьте, что функция put_NumberOfSymbols() проверяет корректность задания значения свойства NumberOfSymbols. Обратите также внимание на обращение к функции SetDirty(). Она должна вызываться при изменении постоянного свойства, чтобы контейнер мог запросить пользователя о подтверждении или отказе от сохранения нового состояния элемента управления. После создания страницы свойств, позволяющей изменять их, мы напишем код, обеспечивающий постоянство свойства NumberOfSymbols.
Текст приложения можно взять здесь (22,7 Кб).
На следующем шаге мы рассмотрим добавление события.