Il messaggio WM_MEASUREITEM viene inviato alla finestra del proprietario di un pulsante dal proprietario, una casella combinata, casella di riepilogo, controllo visualizzazione elenco o voce di menu quando viene creato il menu o controlli.
WM_MEASUREITEM idCtl = wParam (UINT); / / controllo identificatore lpmis = (LPMEASUREITEMSTRUCT) lParam; / / taglia informazioni
Se il valore è zero, il messaggio è stato inviato da un menu. Se il valore è diverso da zero, il messaggio è stato inviato da una casella combinata o da una casella di riepilogo. Se il valore è diverso da zero e il valore del membro di MEASUREITEMSTRUCT a cui puntata lpmis itemID è – 1 (UINT), il messaggio è stato inviato da un campo di modifica combinata.
Se un'applicazione elabora questo messaggio, deve restituire TRUE.
Quando la finestra proprietaria riceve il messaggio WM_MEASUREITEM, il proprietario si riempie nella struttura MEASUREITEMSTRUCT a cui puntata il parametro lParam del messaggio e restituisce; Questo informa il sistema delle dimensioni del controllo. Se una casella di riepilogo o una casella combinata è creata con lo stile LBS_OWNERDRAWVARIABLE o CBS_OWNERDRAWVARIABLE, questo messaggio viene inviato al proprietario per ogni elemento del controllo; in caso contrario, questo messaggio viene inviato una volta.
Il sistema invia il messaggio WM_MEASUREITEM alla finestra proprietaria di caselle combinate e caselle di riepilogo creati con lo stile OWNERDRAWFIXED prima di inviare il messaggio WM_INITDIALOG. Di conseguenza, quando il proprietario riceve questo messaggio, il sistema non ha ancora stabilito l'altezza e la larghezza del carattere utilizzato nel controllo; chiamate di funzione e i calcoli che richiedono questi valori dovrebbero verificarsi nella funzione principale dell'applicazione o biblioteca.
nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarata in winuser.
Combo Boxes Overview, Combo Box messaggi, MEASUREITEMSTRUCT, WM_INITDIALOG
Rimedio: Inserire il CD-ROM CD di MSDN Library.