Finestra procedura Subclassing

Quando un'applicazione crea una finestra, il sistema assegna un blocco di memoria per memorizzare le informazioni specifiche alla finestra, compreso l'indirizzo di una routine di finestra che elabora i messaggi per la finestra. Quando il sistema si deve far passare un messaggio alla finestra, che cerca le informazioni specifiche della finestra per l'indirizzo di una routine di finestra e passa il messaggio a tale procedura.

Subclassing è una tecnica che consente all'applicazione di intercettare ed elaborare i messaggi inviati o inviato per una determinata finestra prima che la finestra ha la possibilità di elaborarle. Da una finestra di sottoclassi, un'applicazione può aumentare, modificare o monitorare il comportamento della finestra. Un'applicazione può sottoclasse una finestra appartenendo a una classe di sistema globale, come ad esempio un controllo di modifica o di una casella di riepilogo. Ad esempio, un'applicazione potrebbe sottoclasse di un controllo di modifica per impedire che il controllo dall'accettare alcuni caratteri. Tuttavia, è possibile sottoclasse una finestra o una classe che appartiene a un'altra applicazione. Tutte le sottoclassi devono essere eseguite all'interno dello stesso processo.

Sottoclassi un'applicazione una finestra sostituendo l'indirizzo della routine della finestra originale della finestra con l'indirizzo di una nuova procedura di finestra, chiamata la procedura di sottoclasse. Successivamente, la procedura di sottoclasse riceve i messaggi inviati o inviato alla finestra.

La procedura di sottoclasse può prendere tre azioni al momento della ricezione di un messaggio: può passare il messaggio originale routine di finestra, modificare il messaggio e passarlo a routine di finestra originale, o elaborare il messaggio e non passare alla procedura di finestra originale. Se la procedura di sottoclasse elabora un messaggio, è possibile farlo prima, dopo, o sia prima e dopo passa il messaggio originale routine di finestra.

Il sistema fornisce due tipi di sottoclassi: istanza e globale. In sottoclassi di istanza, un'applicazione sostituisce l'indirizzo di routine di finestra di una singola istanza di una finestra. Un'applicazione deve utilizzare l'istanza sottoclassi alla sottoclasse di una finestra esistente. In sottoclassi globale, un'applicazione sostituisce l'indirizzo di una routine di finestra nella struttura WNDCLASS di una classe di finestra. Tutte le finestre successive create con la classe hanno l'indirizzo della procedura sottoclasse, ma non sono interessate le finestre esistenti della classe.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index