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


Элементы управления ActiveX в MFC. Добавление событий хранения в элемент управления ActiveX

Стандартные события отличаются от пользовательских событий, так как они автоматически инициируемых классом COleControl. COleControl содержит предварительно определенные функций-членов, будут возвращать события приведет к из общих действий. Некоторые общие действия, COleControl включают одно- и двойные щелчки в элементе управления, событиях клавиатуры, и изменения в состоянии кнопку мыши. Записи сопоставления событий для стандартных событий всегда перед префиксом EVENT_STOCK.

Стандартные события, поддерживаемые мастера добавления события

Класс COleControl предоставляет 10 стандартных событий, перечисленных в следующей таблице. Можно определить события, которое необходимо в элементе управления с помощью Мастер добавления событий.

Стандартные события

Событие

Функция Firing

Комментарии

Щелкните

пустое FireClick ()

Происходит при изменении элемента управления захватывает движения, любое сообщение BUTTONUP, среднее (слева или справа), будет получено, кнопка отменяется над элементом управления. Биржевая MouseDown и события MouseUp возникают перед этим событием.

Запись сопоставления событий: EVENT_STOCK_CLICK ()

DblClick

пустое FireDblClick ()

Аналогично, а затем происходит при изменении сообщение BUTTONDBLCLK будут работать.

Запись сопоставления событий: EVENT_STOCK_DBLCLICK ()

Ошибка

SCODE, LPCSTR lpszDescription, UINT = 0 )пустое FireError (SCODE nHelpID

Происходит при изменении возникает ошибка внутри элемента управления ActiveX вне области вызова метода или свойства доступа.

Запись сопоставления событий: EVENT_STOCK_ERROREVENT ()

KeyDown

пустое FireKeyDown (короткое nChar, short nShiftState )

Происходит при изменении сообщение WM_SYSKEYDOWN или WM_KEYDOWN получения.

Запись сопоставления событий: EVENT_STOCK_KEYDOWN ()

KeyPress

пустое FireKeyPress (short* pnChar )

Происходит при изменении WM_CHAR получено сообщение.

Запись сопоставления событий: EVENT_STOCK_KEYPRESS ()

KeyUp

пустое FireKeyUp (короткое nChar, short nShiftState )

Происходит при изменении сообщение WM_SYSKEYUP или WM_KEYUP получения.

Запись сопоставления событий: EVENT_STOCK_KEYUP ()

MouseDown

пустое FireMouseDown (короткое nButton, short nShiftState, float ), float Xy

Если любое увольнянный осталось ( BUTTONDOWN, среднее или право.). Мыши захвачено непосредственно перед это событие возникновения события.

Запись сопоставления событий: EVENT_STOCK_MOUSEDOWN ()

MouseMove

void FireMouseMove( short nButton, short nShiftState, float x, float y )

Происходит при изменении WM_MOUSEMOVE получено сообщение.

Запись сопоставления событий: EVENT_STOCK_MOUSEMOVE ()

MouseUp

void FireMouseUp( short nButton, short nShiftState, float x, float y )

Если любое увольнянный осталось ( BUTTONUP, среднее или право.). Захват мыши освобождается до возникновения это событие.

Запись сопоставления событий: EVENT_STOCK_MOUSEUP ()

ReadyStateChange

пустое FireReadyStateChange ()

Происходит при изменении элемента управления переходит к следующему готовому состояние должному к полученному объему данных.

Запись сопоставления событий: EVENT_STOCK_READYSTATECHANGE ()

Добавить стандартное событие с помощью мастера добавления события

Чтобы добавить стандартные события рабочего требует меньше чем добавление пользовательских событий, поскольку включение фактического события автоматически обрабатывается базовым классом, COleControl. Следующая процедура позволяет добавить стандартное событие в элемент управления, который был развит с помощью Мастер элементов ActiveX MFC. Свойство, событие нажатия клавиши, применяется, если ключ не и элемент управления активен. Эту процедуру можно также использовать для добавления дополнительных стандартные события. Замените выбранное имя стандартного события для нажатия клавиши.

Добавить стандартное событие с помощью мастера добавления события KeyPress

  1. Загрузите проект элемента управления.

  2. В представлении классов щелкните правой кнопкой мыши класс элемента управления ActiveX, чтобы открыть контекстное меню.

  3. В контекстном меню щелкните Добавить, а затем щелкните Добавить событие.

    Это будет открыт мастер добавления события.

  4. В раскрывающемся списке Имя события, выберите KeyPress.

  5. Нажмите кнопку Готово.

Добавьте изменения мастера события для стандартных событий

Поскольку стандартные события обрабатываются базовым классом элемента управления, мастер добавления события не изменит само объявление класса в любом случае. Добавляет событие в сопоставление событий элемента управления и делает запись в его файле .IDL. В следующей линия добавляется сопоставление событий элемента управления, расположенному в файле реализации класса элемента управления (CPP).

EVENT_STOCK_KEYPRESS()

Добавление этот код вызывает событие нажатия клавиши, когда сообщение WM_CHAR получено и элемент управления активен. Событие нажатия клавиши может быть возникновения в другое время путем вызова его возможности включения (например, FireKeyPress) из кода элемента управления.

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

[id(DISPID_KEYPRESS)] void KeyPress(SHORT* KeyAscii);

Эта линия связывает событие нажатия клавиши со своим идентификатором стандартным обработки и позволяет контейнер для предупреждения событие нажатия клавиши.

См. также

Ссылки

Класс COleControl

Основные понятия

Элементы управления ActiveX MFC

Элементы управления ActiveX в MFC. Методы