Menu creati dal proprietario e il messaggio WM_DRAWITEM

Ogni volta che l'elemento deve essere predisposto (ad esempio, quando esso viene visualizzato in primo luogo o quando l'utente seleziona esso), il sistema invia il messaggio WM_DRAWITEM alla procedura di finestra proprietaria del menu finestra. Questo messaggio contiene un puntatore a una struttura DRAWITEMSTRUCT , che contiene informazioni sull'elemento, inclusi i dati dell'elemento che un'applicazione pu avere assegnato ad esso. Inoltre, DRAWITEMSTRUCT contiene flag che indicano lo stato dell'elemento (ad esempio, se si in grigio o controllato) cos come un rettangolo di delimitazione e di un contesto di periferica che l'applicazione viene utilizzato per disegnare l'elemento.

Un'applicazione deve effettuare le seguenti operazioni durante l'elaborazione del messaggio WM_DRAWITEM:

  1. Determinare il tipo di disegno che necessario. Per farlo, controllare il membro itemAction della struttura DRAWITEMSTRUCT.
  2. Disegnare in modo appropriato, la voce di menu utilizzando il contesto del rettangolo e dispositivo di delimitazione ottenuto dalla struttura DRAWITEMSTRUCT . L'applicazione deve disegnare solo all'interno del rettangolo di delimitazione. Per motivi di prestazioni, il sistema non clip porzioni dell'immagine che sono disegnati all'esterno del rettangolo.
  3. Ripristinare tutti gli oggetti GDI selezionati per il contesto di periferica della voce di menu.

Se l'utente seleziona la voce di menu, il sistema imposta il membro itemAction della struttura DRAWITEMSTRUCT il valore ODA_SELECT e imposta il valore ODS_SELECTED nel membro itemState . Questa la stecca di un'applicazione per ridisegnare la voce di menu per indicare che si selezionato.

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

Index