Sdílet prostřednictvím


MFC – ovládací prvky ActiveX: Přidání uložených událostí do ovládacího prvku ActiveX

Uložené události se liší od vlastní události, jsou automaticky spalovat třídy COleControl.COleControlobsahuje předdefinované členské funkce, které požární události vyplývající z běžných akcí.Některé společné akce prováděné ve COleControl zahrnout jedno - a double - clicks na ovládací prvek, události klávesnice a změny stavu tlačítka myši.Položek mapování událostí pro uložené události jsou vždy uvedeny EVENT_STOCK předpony.

Zásobní události, které jsou podporovány Průvodce přidáním události

COleControl Třída poskytuje deset událostí zásob uvedené v následující tabulce.Můžete určit události v používání řízení Průvodce přidání události.

Uložené události

Událost

Aktivaci funkce

Komentáře

Klepněte na tlačítko

void (FireClick)

Aktivována, když je ovládací prvek zachytává všechny myši, BUTTONUP zpráva (vlevo, na střed nebo vpravo) a uvolní tlačítko nad ovládací prvek.Zásoby MouseDown a MouseUp události dochází před touto událostí.

Načítání událostí: (EVENT_STOCK_CLICK)

DblClick

Zrušit (FireDblClick)

Podobné klepnutím ale aktivována, pokud BUTTONDBLCLK zpráva je přijata.

Načítání událostí: (EVENT_STOCK_DBLCLICK)

Chyba

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

Aktivována, když dojde k chybě v rámci metody volání nebo vlastnost přístup do oboru ovládacího prvku technologie ActiveX.

Načítání událostí: (EVENT_STOCK_ERROREVENT)

KeyDown

void FireKeyDown( short nChar, short nShiftState )

Aktivována, pokud WM_SYSKEYDOWN nebo WM_KEYDOWN zpráva je přijata.

Načítání událostí: (EVENT_STOCK_KEYDOWN)

Stisknutí klávesy

Zrušit FireKeyPress (krátké *pnChar)

Aktivována, pokud WM_CHAR zpráva je přijata.

Načítání událostí: (EVENT_STOCK_KEYPRESS)

KeyUp

void FireKeyUp( short nChar, short nShiftState )

Aktivována, pokud WM_SYSKEYUP nebo WM_KEYUP zpráva je přijata.

Načítání událostí: (EVENT_STOCK_KEYUP)

MouseDown

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

Pokud je aktivována BUTTONDOWN je přijat (doleva, na střed nebo vpravo).Myš je zachycen těsně před Tato událost je aktivována.

Načítání událostí: (EVENT_STOCK_MOUSEDOWN)

MouseMove

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

Aktivována, pokud WM_MOUSEMOVE zpráva je přijata.

Načítání událostí: (EVENT_STOCK_MOUSEMOVE)

MouseUp

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

Pokud je aktivována BUTTONUP je přijat (doleva, na střed nebo vpravo).Zachycení myši je vydán dříve, než tato událost je aktivována.

Načítání událostí: (EVENT_STOCK_MOUSEUP)

ReadyStateChange

Zrušit (FireReadyStateChange)

Aktivována, když ovládací prvek přechody do dalšího stavu připravenosti vzhledem k množství přijatých dat.

Načítání událostí: (EVENT_STOCK_READYSTATECHANGE)

Přidání událostí zásob pomocí Průvodce přidáním události

Přidání událostí zásob vyžaduje méně práce než přidání vlastních událostí, protože základní třída je automaticky zpracována pálení skutečné události COleControl.Následující procedura přidá ovládací prvek, který byl vyvinut pomocí uložená událost MFC ActiveX Control Wizard.Událost KeyPress, nazývá se vyvolá při stisknutí klávesy a je aktivní ovládací prvek.Tento postup lze také přidat další uložené události.Nahraďte název vybrané skladové události KeyPress.

Chcete-li přidat událost KeyPress zásob pomocí Průvodce přidání události

  1. Načtěte projektu ovládacího prvku.

  2. V zobrazení tříd klikněte pravým tlačítkem myši třídy ovládacího prvku ActiveX otevřete místní nabídku.

  3. V místní nabídce klepněte na příkaz Přidat a potom klepněte na tlačítko Přidat událost.

    Otevře se Průvodce přidání události.

  4. V Název události rozevírací seznam, vyberte KeyPress.

  5. Klepněte na tlačítko Dokončit.

Přidat událost změny Průvodce pro uložené události

Vzhledem k tomu, že uložené události jsou zpracovány pomocí základní třídy ovládacího prvku, Průvodce přidání události deklaraci vaší třídy nijak nemění.Přidá událost do mapy událost ovládacího prvku a vytvoří položku v jeho.Soubor IDL.Následující řádek je přidán do mapy událostí ovládacího prvku, umístěné v implementaci třídy ovládacího prvku (.Soubor CPP):

EVENT_STOCK_KEYPRESS()

Přidání tohoto kódu vyvolá událost KeyPress když WM_CHAR zpráva je přijata a je aktivní ovládací prvek.Může být aktivována událost KeyPress jindy voláním funkce jeho pálení (například FireKeyPress) z kódu ovládacího prvku.

Průvodce přidání události přidá následující řádek kódu do ovládacího prvku.Soubor IDL:

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

Tento řádek se spojí s jeho odeslání standardní ID události KeyPress a umožňuje předvídat události KeyPress kontejneru.

Viz také

Referenční dokumentace

Třída COleControl

Koncepty

MFC – ovládací prvky ActiveX

MFC – ovládací prvky ActiveX: Metody