Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli eventi predefiniti differiscono dagli eventi personalizzati in quanto vengono generati automaticamente dalla classe COleControl.COleControl contiene le funzioni membro predefinite che generano gli eventi derivazione dalle azioni comuni.Alcune azioni comuni implementate da COleControl sono univoci e fare doppio clic sul controllo, sugli eventi di tastiera e modifiche nello stato dei pulsanti.Le voci della mappa eventi per gli eventi predefiniti sono sempre preceduto dal prefisso di EVENT_STOCK .
Eventi predefiniti supportati dalla procedura guidata di evento aggiungi
La classe di COleControl fornisce dieci eventi predefiniti, elencati nella tabella seguente.È possibile specificare gli eventi che si desidera visualizzare nel controllo utilizzando aggiungere la procedura guidata di evento.
eventi predefiniti
Evento |
generare funzione |
Commenti |
|---|---|---|
Fare clic su |
FireClick void () |
Quando il controllo consente di acquisire il mouse, qualsiasi BUTTONUP (a sinistra, utilizzare, o a destra) il messaggio generato viene ricevuto e il pulsante viene rilasciato sul controllo.Gli eventi predefiniti di MouseUp e MouseDown si verificano prima di questo evento. Voce della mappa eventi: EVENT_STOCK_CLICK( ) |
DblClick |
FireDblClick void () |
Simile al clic ma generato quando un messaggio di BUTTONDBLCLK viene ricevuto. Voce della mappa eventi: EVENT_STOCK_DBLCLICK( ) |
delle modifiche a..." |
scode, LPCSTR lpszDescription, UINT nHelpID = 0 )divoid FireError( SCODE |
Generato quando si verifica un errore nel controllo ActiveXambito di una chiamata al metodo o di un accesso della proprietà. Voce della mappa eventi: EVENT_STOCK_ERROREVENT( ) |
KeyDown |
void FireKeyDown( short nChar, short nShiftState ) |
Generato quando un messaggio di WM_KEYDOWN o di WM_SYSKEYDOWN viene ricevuto. Voce della mappa eventi: EVENT_STOCK_KEYDOWN( ) |
KeyPress |
void FireKeyPress( short* pnChar ) |
Generato quando un messaggio di WM_CHAR viene ricevuto. Voce della mappa eventi: EVENT_STOCK_KEYPRESS( ) |
KeyUp |
void FireKeyUp( short nChar, short nShiftState ) |
Generato quando un messaggio di WM_KEYUP o di WM_SYSKEYUP viene ricevuto. Voce della mappa eventi: EVENT_STOCK_KEYUP( ) |
MouseDown |
void FireMouseDown( short nButton, short nShiftState, float x, float y ) |
Generata se una BUTTONDOWN (a sinistra, utilizzare, o a destra) viene ricevuto.Il mouse capture immediatamente prima che l'evento viene generato. Voce della mappa eventi: EVENT_STOCK_MOUSEDOWN( ) |
MouseMove |
void FireMouseMove( short nButton, short nShiftState, float x, float y ) |
Generato quando un messaggio di WM_MOUSEMOVE viene ricevuto. Voce della mappa eventi: EVENT_STOCK_MOUSEMOVE( ) |
MouseUp |
void FireMouseUp( short nButton, short nShiftState, float x, float y ) |
Generata se una BUTTONUP (a sinistra, utilizzare, o a destra) viene ricevuto.Il mouse capture viene rilasciato prima che l'evento venga generato. Voce della mappa eventi: EVENT_STOCK_MOUSEUP( ) |
ReadyStateChange |
FireReadyStateChange void () |
Generato quando le transizioni di un controllo nello stato pronto seguente a causa della quantità di dati che hanno ricevuto. Voce della mappa eventi: EVENT_STOCK_READYSTATECHANGE( ) |
Aggiunta dell'evento predefinito utilizzando la procedura guidata di evento aggiungi
L'aggiunta di eventi predefiniti richiede meno lavoro che gli eventi personalizzati che consentono di effettivo evento viene gestito automaticamente dalla classe base, COleControldi aggiunta.La procedura riportata di seguito viene aggiunto un evento predefinito a un controllo compilato utilizzando Creazione guidata controllo ActiveX MFC.L'evento, denominato KeyPress, viene attivata quando una chiave viene premuto e il controllo è attivi.Questa procedura può essere utilizzata per aggiungere altri eventi predefiniti.sostituire il nome di evento predefinito selezionato per KeyPress.
Per aggiungere il KeyPress inserimento l'evento utilizzando la procedura guidata di evento aggiungi
Caricare il progetto del controllo.
In Visualizzazione classi, fare clic con il pulsante destro del mouse sulla classe del controllo ActiveX per aprire il menu di scelta rapida.
Dal menu di scelta rapida, fare clic Aggiungi quindi fare clic su Aggiungi evento.
Verrà avviata la procedura guidata di evento.
Nell'elenco a discesa di Event Name , KeyPressselezionato.
Fare clic su Fine.
Aggiungere le modifiche della procedura guidata degli eventi per gli eventi predefiniti
Poiché gli eventi predefiniti vengono gestiti dalla classe base del controllo, la procedura guidata di evento aggiungi non modifica la dichiarazione di classe in alcun modo.Aggiungere l'evento alla mappa eventi del controllo ed effettua una voce nel relativo file .IDL.La riga seguente viene aggiunto alla mappa eventi del controllo, che si trova nel file di implementazione della classe del controllo (.CPP):
EVENT_STOCK_KEYPRESS()
Aggiungendo il codice genera un evento di KeyPress quando un messaggio di WM_CHAR viene ricevuto e il controllo attivo.L'evento di KeyPress può essere generato altre volte chiamando la funzione di infornamento (ad esempio, FireKeyPress) dal codice del controllo.
La procedura guidata di evento aggiungi aggiungere la seguente riga di codice al file .IDL del controllo:
[id(DISPID_KEYPRESS)] void KeyPress(SHORT* KeyAscii);
Questa riga consente di associare l'evento di KeyPress con il relativo ID di invio standard e del contenitore prevedi l'evento di KeyPress.