Controlli personalizzati

Le applicazioni possono creare controlli personalizzati per eseguire operazioni non supportate dai controlli predefiniti. L'API Win32 fornisce i seguenti modi di creare controlli personalizzati:

Utilizzando i controlli creati dal proprietario

Pulsanti, caselle di riepilogo e caselle combinate sono creati dal proprietario stili disponibili che direttamente il controllo per inviare un messaggio alla finestra padre, ogni volta che il controllo deve essere disegnato. Questa caratteristica consente a un'applicazione per modificare l'aspetto di un controllo. Per i pulsanti, lo stile creati dal proprietario colpisce come il sistema si basa l'intero controllo. Per caselle di riepilogo e caselle combinate, finestra padre richiama gli elementi all'interno del controllo, e il controllo richiama la propria struttura. Ad esempio, un'applicazione può personalizzare una casella di riepilogo che consente di visualizzare una piccola bitmap accanto a ogni elemento nell'elenco.

Un'applicazione può designare pulsanti, caselle di riepilogo e caselle combinate come controlli creati dal proprietario creandoli con stile appropriato. Quando un controllo ha lo stile creati dal proprietario, il sistema gestisce l'interazione dell'utente con il controllo come al solito, esecuzione di operazioni quali il rilevare quando un utente ha scelto un pulsante e proprietario del pulsante dell'evento di notifica. Tuttavia, poiché il controllo è proprietario disegnato, la finestra padre del controllo è responsabile per l'aspetto visivo del controllo. Per ulteriori informazioni sui controlli creati dal proprietario, vedere dal proprietario pulsanti, caselle di riepilogo dal proprietarioe caselle combinate creati dal proprietario.

Creazione di una sottoclasse della classe della finestra di un controllo esistente

Creazione di una sottoclasse un controllo esistente è un altro modo per creare un controllo personalizzato. La procedura di sottoclasse può alterare i comportamenti selezionati del controllo dalla lavorazione di quei messaggi che influenzano i comportamenti selezionati. Tutti gli altri messaggi di passano alla routine di finestra originale per il controllo. Ad esempio, un'applicazione può visualizzare una piccola bitmap accanto al testo in un controllo di modifica in sola lettura, riga singola dalla creazione di sottoclassi per il controllo e l'elaborazione del messaggio WM_PAINT . Per ulteriori informazioni, vedere Finestra procedura Subclassing.

Anche se un'applicazione può sottoclasse un controllo predefinito, esso si basa sulla routine di finestra del controllo per fornire tutti gli altri aspetti del comportamento del controllo. Per ulteriori informazioni sul comportamento di un controllo, vedere l'argomento individuale per i controlli predefiniti.

Implementazione di una classe di finestra definiti dall'applicazione

Il processo per la registrazione di una classe di finestra definito dall'applicazione per un controllo personalizzato è la stessa di una classe per una normale finestra di registrazione. Per creare un controllo personalizzato, specificando il nome della classe window nella funzione CreateWindowEx o in un modello di finestra di dialogo. Ogni classe deve avere un nome univoco, una routine della finestra corrispondente e altre informazioni.

Come minimo, la routine della finestra disegna il controllo. Se un'applicazione utilizza il controllo di lasciare le informazioni sul tipo di utente, routine di finestra anche elabora i messaggi di input da tastiera e mouse e invia i messaggi di notifica alla finestra padre. Inoltre, se il controllo supporta i messaggi di controllo, la routine della finestra elabora i messaggi inviati ad esso da finestra padre o le altre finestre. Ad esempio, controlli spesso elaborano il messaggio WM_GETDLGCODE inviato da finestre di dialogo per dirigere una finestra di dialogo per elaborare l'input da tastiera in un determinato modo.

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

Index