Ovládací prvky MFC ActiveX: Přidání ovládacího prvku ActiveX populace události
Burzovní události se liší od vlastní události, jsou automaticky aktivována pomocí třídy COleControl.COleControlobsahuje předdefinované členské funkce, které požární události vyplývající ze společné akce.Některé společné akce prováděna COleControl zahrnují single - a double - clicks na ovládací prvek, události klávesnice a změny ve stavu tlačítka myši.Vždy předcházejí položek mapování událostí pro události akcií EVENT_STOCK předpona.
Zásobní podporovaných událostí události Průvodce
COleControl Třída obsahuje deset akcií událostí uvedených v následující tabulce.Můžete určit v řízení pomocí události Průvodce přidat událost.
Burzovní události
Událost |
Při aktivaci funkce |
Komentáře |
---|---|---|
Klepněte na tlačítko |
zrušit (FireClick) |
Událost je ovládací prvek zachytí myš, všechny BUTTONUP zpráva (doleva, na střed nebo vpravo) a uvolnění tlačítka přes ovládací prvek.Skladové MouseDown a MouseUp události dojít před touto událostí. Položku mapy událostí: (EVENT_STOCK_CLICK) |
DblClick |
zrušit (FireDblClick) |
Podobné klepnutím ale aktivována, pokud BUTTONDBLCLK zpráva. Položku mapy událostí: (EVENT_STOCK_DBLCLICK) |
Chyba |
void FireError( SCODE scode, LPCSTR lpszDescription, UINT nHelpID = 0 ) |
Je aktivována při výskytu chyby v rámci ovládacího prvku ActiveX mimo rozsah metoda volání nebo vlastnost přístup. Položku mapy událostí: (EVENT_STOCK_ERROREVENT) |
KeyDown |
void FireKeyDown( short nChar, short nShiftState ) |
Aktivována, pokud WM_SYSKEYDOWN nebo WM_KEYDOWN zpráva. Položku mapy událostí: (EVENT_STOCK_KEYDOWN) |
KeyPress |
zrušit FireKeyPress (krátké *pnChar) |
Aktivována, pokud WM_CHAR zpráva. Položku mapy událostí: (EVENT_STOCK_KEYPRESS) |
KeyUp |
void FireKeyUp( short nChar, short nShiftState ) |
Aktivována, pokud WM_SYSKEYUP nebo WM_KEYUP zpráva. Položku mapy událostí: (EVENT_STOCK_KEYUP) |
MouseDown |
void FireMouseDown( short nButton, short nShiftState, float x, float y ) |
Pokud je aktivována BUTTONDOWN přijaté (doleva, na střed nebo vpravo).Myš je zachycena bezprostředně před tato událost je aktivována. Položku mapy událostí: (EVENT_STOCK_MOUSEDOWN) |
MouseMove |
void FireMouseMove( short nButton, short nShiftState, float x, float y ) |
Aktivována, pokud WM_MOUSEMOVE zpráva. Položku mapy událostí: (EVENT_STOCK_MOUSEMOVE) |
MouseUp |
void FireMouseUp( short nButton, short nShiftState, float x, float y ) |
Pokud je aktivována BUTTONUP přijaté (doleva, na střed nebo vpravo).Zachycení myši je vydán dříve, než tato událost je aktivována. Položku mapy událostí: (EVENT_STOCK_MOUSEUP) |
ReadyStateChange |
zrušit (FireReadyStateChange) |
Událost řízení přechody do dalšího stavu připravenosti kvůli množství přijatých dat. Položku mapy událostí: (EVENT_STOCK_READYSTATECHANGE) |
Přidání události zásob pomocí události Průvodce
Přidání události akcií vyžaduje méně práce, než přidávání vlastních událostí, protože pálení skutečné události automaticky zpracovány základní třídou COleControl.Následující postup přidá akcií událostí na ovládací prvek, který byl vyvinut pomocí Průvodce ovládacího prvku MFC ActiveX.Při stisknutí klávesy a je aktivní ovládací prvek dojde k události KeyPress, nazývá.Tento postup lze také přidat další události akcií.Nahraďte název vybrané skladové události KeyPress.
Přidání události KeyPress akcií pomocí Průvodce přidáním událostí
Načtení ovládacího prvku projektu.
V zobrazení třídy pravým tlačítkem otevřete místní nabídku třídy ovládacího prvku ActiveX.
V místní nabídce klepněte na příkaz Přidat a klepněte na tlačítko Přidat událost.
Otevře se Průvodce přidáním událostí.
V Název události rozevíracího seznamu vyberte KeyPress.
Klepněte na tlačítko Dokončit.
Přidat událost změny Průvodce pro populace události
Protože základní třídou prvku jsou zpracovány události akcií, událost Průvodce přidáním vaší deklaraci třídy nijak nemění.Přidá do mapy na ovládací prvek událost události a vytvoří položku v jeho.IDL souboru.Následující řádek je přidán do mapy událostí ovládacího prvku, v implementaci třídy ovládacího prvku (.Soubor CPP):
EVENT_STOCK_KEYPRESS()
Přidání tohoto kódu dojde k události KeyPress při WM_CHAR zpráva je přijata a je aktivní ovládací prvek.Událost KeyPress lze spalovat jindy voláním funkce jeho pálení (například FireKeyPress) z kódu ovládacího prvku.
Průvodce přidáním událostí následující řádek kódu přidá do ovládacího prvku.IDL souboru:
[id(DISPID_KEYPRESS)] void KeyPress(SHORT* KeyAscii);
Tento řádek přidruží jeho odeslání standardní ID události KeyPress a umožňuje odhadnout události KeyPress kontejneru.