Udostępnij za pośrednictwem


Formanty ActiveX MFC: Dodawanie zdarzeń zapasów do formantu ActiveX

Zdarzenia zapasów różnią się od niestandardowych zdarzeń, automatycznie są one wywoływane przez klasę COleControl.COleControlzawiera Członkowskie wstępnie zdefiniowane funkcje, które fire zdarzenia wynikające z wspólnych działań.Niektóre wspólne działania realizowane przez COleControl obejmują single - i double - clicks kontroli, zdarzenia klawiatury i zmiany w stanie przycisków myszy.Wpisy map zdarzeń dla zdarzeń zapasów są zawsze poprzedzone EVENT_STOCK prefiksu.

Podstawowy zdarzeń obsługiwanych przez zdarzenie Kreatora dodawania

COleControl Klasy udostępnia dziesięć zdarzeń zapasów, wymienione w poniższej tabeli.Można określić zdarzenia w sieci przy użyciu formantu Kreatora dodawania zdarzenia.

Zdarzenia zapasów

Zdarzenie

Funkcja opalanych

Komentarze

Kliknij przycisk

void FireClick)

Po kontroli przechwytuje myszy, w każdym BUTTONUP (lewym, środkowym lub prawym) wiadomość zostanie odebrana i zwolnieniu przycisku nad formantem.Zapasów MouseDown i MouseUp zdarzenia występują przed tym zdarzeniem.

Zdarzenie wpisu mapy: (EVENT_STOCK_CLICK)

DblClick

void FireDblClick)

Podobnie kliknij ale kiedy opalanych BUTTONDBLCLK odebrana wiadomość.

Zdarzenie wpisu mapy: (EVENT_STOCK_DBLCLICK)

Błąd

void FireError( SCODE scode, LPCSTR lpszDescription, UINT nHelpID = 0 )

Uruchamiany po wystąpieniu błędu w do zakresu metody wywołania lub dostępu do właściwości formantu ActiveX.

Zdarzenie wpisu mapy: (EVENT_STOCK_ERROREVENT)

KeyDown

void FireKeyDown( short nChar, short nShiftState )

Uruchamiany, gdy WM_SYSKEYDOWN lub WM_KEYDOWN odebrana wiadomość.

Zdarzenie wpisu mapy: (EVENT_STOCK_KEYDOWN)

KeyPress

void FireKeyPress (short *pnChar)

Uruchamiany, gdy WM_CHAR odebrana wiadomość.

Zdarzenie wpisu mapy: (EVENT_STOCK_KEYPRESS)

KeyUp

void FireKeyUp( short nChar, short nShiftState )

Uruchamiany, gdy WM_SYSKEYUP lub WM_KEYUP odebrana wiadomość.

Zdarzenie wpisu mapy: (EVENT_STOCK_KEYUP)

MouseDown

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

Uruchamiany, jeśli BUTTONDOWN otrzymaniu (po lewej stronie, środka lub do prawej).Mysz jest przechwycona, to zdarzenie jest wywoływane przed.

Zdarzenie wpisu mapy: (EVENT_STOCK_MOUSEDOWN)

MouseMove

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

Uruchamiany, gdy WM_MOUSEMOVE odebrana wiadomość.

Zdarzenie wpisu mapy: (EVENT_STOCK_MOUSEMOVE)

MouseUp

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

Uruchamiany, jeśli BUTTONUP otrzymaniu (po lewej stronie, środka lub do prawej).Przechwytywanie myszy zostanie wydany przed to zdarzenie jest wywoływane.

Zdarzenie wpisu mapy: (EVENT_STOCK_MOUSEUP)

ReadyStateChange

void FireReadyStateChange)

Uruchamiany podczas przejścia kontroli do następnego stanu Gotowe, ze względu na ilość odebranych danych.

Zdarzenie wpisu mapy: (EVENT_STOCK_READYSTATECHANGE)

Dodawanie zdarzeń zapasów przy użyciu zdarzenia Kreatora dodawania

Dodawanie zdarzeń zapasów wymaga mniej pracy niż dodanie niestandardowych zdarzeń, ponieważ wypalania rzeczywiste zdarzenia jest obsługiwane automatycznie przez klasy bazowej COleControl.Poniższa procedura dodaje zapasów zdarzeń do formantu, który został utworzony przy użyciu Kreatora formantów ActiveX MFC.Zdarzenie KeyPress, nazywany jest wyzwalany po wciśnięciu i kontroli jest aktywny.Tę procedurę można również dodać inne zdarzenia zapasów.Podstaw nazwę wybranych zapasów zdarzenia KeyPress.

Aby dodać zdarzenie KeyPress zapasów przy użyciu Kreatora dodawania zdarzeń

  1. Załadować projekt programu kontroli.

  2. W widoku klasy kliknij prawym przyciskiem myszy klasy formantu ActiveX, aby otworzyć menu skrótów.

  3. W menu skrótów kliknij polecenie Dodaj i kliknij przycisk Dodać zdarzenie.

    Zostanie otwarty Kreator dodawania zdarzeń.

  4. W Nazwy zdarzenia listy rozwijanej wybierz KeyPress.

  5. Kliknij Zakończ.

Dodać zmian kreatora zdarzeń dla zdarzeń zapasów

Ponieważ zdarzenia zapasów są obsługiwane przez klasy podstawowej do formantu, Kreatora dodawania zdarzeń nie zmienia swoje deklaracji klasy w jakikolwiek sposób.Dodanie zdarzenia do formantu zdarzenie mapy i tworzy zapis w jej.Plik IDL.Do formantu zdarzenie mapy, znajdujące się w implementacji klasy kontroli dodaje się następujący wiersz (.Plik CPP):

EVENT_STOCK_KEYPRESS()

Ten kod uruchamia zdarzenie KeyPress po WM_CHAR odebrana wiadomość i kontroli jest aktywny.Zdarzenie KeyPress może opalane w innych terminach, wywołując funkcję jego wypalania (na przykład FireKeyPress) z kodem kontroli.

Kreator dodawania zdarzeń dodaje następujący wiersz kodu do formantu.Plik IDL:

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

Ten wiersz kojarzy zdarzenie KeyPress z jego identyfikator wysyłki standardowych i umożliwia kontenera do przewidzenia zdarzenia KeyPress.

Zobacz też

Informacje

Klasa COleControl

Koncepcje

Formanty ActiveX MFC

Formanty ActiveX MFC: metody