Udostępnij za pośrednictwem


Formanty MFC ActiveX: dodawanie zdarzeń standardowych do formantu ActiveX

Czas zdarzenia różnią się od niestandardowych zdarzeń są one uruchamiane automatycznie przez klasę COleControl.COleControlzawiera funkcji wstępnie zdefiniowanych elementów członkowskich, które wyzwalają zdarzenia wynikające z typowych akcji.Niektóre wspólne działania realizowane przez COleControl zawierać jedno - i dwu - clicks na kontroli, zdarzenia klawiatury i zmiany w stanie przycisków myszy.Wpisy map zdarzeń dla zdarzeń zapasów są zawsze poprzedzone EVENT_STOCK prefiks.

Pień zdarzeń obsługiwanych przez zdarzenie Kreator dodawania

COleControl Klasy zawiera dziesięć zdarzeń pień, wymienione w poniższej tabeli.Można określić zdarzenia w za pomocą sterowania Kreatora dodawania zdarzenia.

Czas zdarzenia

Zdarzenie

Funkcja wyzwalania

Komentarze

Kliknij przycisk

Unieważnij (FireClick)

Po wywołaniu metody kontroli przechwytuje mysz, wszelkie BUTTONUP (lewy, środkowym lub prawym) wiadomość zostanie odebrana i zwolnieniu przycisku nad formantem.Czas MouseDown i MouseUp zdarzenia występują przed tego zdarzenia.

Wpisu mapowania zdarzeń: (EVENT_STOCK_CLICK)

DblClick

Unieważnij (FireDblClick)

Jest podobna do kliknięcia ale kiedy opalanych BUTTONDBLCLK wiadomość zostanie odebrana.

Wpisu mapowania zdarzeń: (EVENT_STOCK_DBLCLICK)

Błąd

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

Uruchamiany, gdy wystąpi błąd w formancie ActiveX, poza zakres dostępu właściwość lub wywołanie metody.

Wpisu mapowania zdarzeń: (EVENT_STOCK_ERROREVENT)

KeyDown

void FireKeyDown( short nChar, short nShiftState )

Uruchamiany, gdy WM_SYSKEYDOWN lub WM_KEYDOWN wiadomość zostanie odebrana.

Wpisu mapowania zdarzeń: (EVENT_STOCK_KEYDOWN)

Naciśnięcie klawisza

Unieważnij FireKeyPress (krótkie *pnChar)

Uruchamiany, gdy WM_CHAR wiadomość zostanie odebrana.

Wpisu mapowania zdarzeń: (EVENT_STOCK_KEYPRESS)

KeyUp

void FireKeyUp( short nChar, short nShiftState )

Uruchamiany, gdy WM_SYSKEYUP lub WM_KEYUP wiadomość zostanie odebrana.

Wpisu mapowania zdarzeń: (EVENT_STOCK_KEYUP)

MouseDown

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

Uruchamiany, jeśli istnieje BUTTONDOWN (od lewej, środka lub do prawej) jest odbierane.Myszy są przechwytywane bezpośrednio przed to zdarzenie jest uruchamiany.

Wpisu mapowania zdarzeń: (EVENT_STOCK_MOUSEDOWN)

MouseMove

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

Uruchamiany, gdy WM_MOUSEMOVE wiadomość zostanie odebrana.

Wpisu mapowania zdarzeń: (EVENT_STOCK_MOUSEMOVE)

MouseUp

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

Uruchamiany, jeśli istnieje BUTTONUP (od lewej, środka lub do prawej) jest odbierane.Przechwytywanie myszy zostanie zwolniony przez to zdarzenie.

Wpisu mapowania zdarzeń: (EVENT_STOCK_MOUSEUP)

ReadyStateChange

Unieważnij (FireReadyStateChange)

Uruchamiany podczas przejścia kontroli do następnego stanu gotowości ze względu na ilość otrzymanych danych.

Wpisu mapowania zdarzeń: (EVENT_STOCK_READYSTATECHANGE)

Dodawanie wydarzenia przy użyciu zdarzenia Kreator dodawania

Dodawanie zdarzeń podstawowego wymaga mniej pracy niż dodawanie niestandardowych zdarzeń, ponieważ wypalania faktyczną zdarzenia jest automatycznie obsługiwany przez klasy bazowej, COleControl.Poniższa procedura dodaje pień zdarzenie do formantu, który został utworzony przy użyciu Kreatora formantów ActiveX MFC.Zdarzenie KeyPress, o nazwie pożarów, gdy zostanie naciśnięty klawisz i kontrola jest aktywna.Tę procedurę można również dodawać inne zdarzenia zapasów.Podstawić nazwę wybranego zapasu zdarzenia KeyPress.

Aby dodać zdarzenie KeyPress podstawowego za pomocą Kreatora dodawania zdarzeń

  1. Załaduj projekt z 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.

    Spowoduje to otwarcie Kreatora dodawania zdarzeń.

  4. W Nazwa zdarzenia listy rozwijanej wybierz KeyPress.

  5. Kliknij Zakończ.

Dodać zmiany Kreator zdarzeń dla zdarzeń zapasów

Ponieważ czas zdarzenia są obsługiwane przez klasy podstawowej formantu, Kreatora dodawania zdarzeń nie powoduje zmiany swojej deklaracji klasy w jakikolwiek sposób.Dodanie zdarzeń do formantu zdarzenie mapy i sprawia, że wpis w jego.Plik IDL.Następujący wiersz jest dodawany do formantu zdarzenie mapę, znajdujące się w implementacji klasy formantu (.Plik CPP):

EVENT_STOCK_KEYPRESS()

Dodanie tego kodu wyzwala zdarzenia KeyPress po WM_CHAR wiadomość zostanie odebrana i kontrola jest aktywna.Zdarzenie KeyPress może być uruchamiany w innym czasie przez wywołanie funkcji 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 z jego wysyłki standardowy identyfikator zdarzenia KeyPress i pozwala kontenera do przewidzenia zdarzenie KeyPress.

Zobacz też

Informacje

Klasa COleControl

Koncepcje

Formanty MFC ActiveX

Formanty MFC ActiveX: metody