CMenu::InsertMenu

BOOL InsertMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );

BOOL InsertMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp );

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario 0.

Parametri

nPosition

Specifica la voce di menu prima di cui deve essere inserito la nuova voce di menu. Il parametro nFlags può essere utilizzato per interpretare nPosition nei modi seguenti:

nFlags Interpretazione di nPosition
MF_BYCOMMAND Specifica che il parametro dà il comando ID dell'elemento esistente dal menu. Questo è il valore predefinito se viene impostato né MF_BYCOMMANDMF_BYPOSITION.
MF_BYPOSITION Specifica che il parametro dà la posizione dell'elemento esistente dal menu. Il primo elemento è nella posizione 0. Se nPosition è – 1, nuova voce di menu viene aggiunto alla fine del menu.

nFlags

Specifica come viene interpretato nPosition e specifica le informazioni sullo stato della nuova voce di menu quando viene aggiunto al menu. Per un elenco delle bandiere che può essere impostato, vedere la funzione membro AppendMenu . Per specificare più di un valore, utilizzare l'operatore OR bit per bit di combinarle con il flag MF_BYCOMMAND o MF_BYPOSITION.

nIDNewItem

Specifica l'ID di comando della nuova voce di menu o, se nFlags è impostato su MF_POPUP, il manico di menù (HMENU) del menu a comparsa. Il parametro nIDNewItem viene ignorato (non necessaria) se nFlags è impostato su MF_SEPARATOR.

lpszNewItem

Specifica il contenuto della nuova voce di menu. nFlags può essere utilizzato per interpretare lpszNewItem nei modi seguenti:

nFlags Interpretazione di lpszNewItem
MF_OWNERDRAW Contiene un valore fornito dal applicazione a 32-bit che l'applicazione può utilizzare per gestire i dati aggiuntivi associati con la voce di menu. Questo valore a 32 bit è disponibile per l'applicazione nel membro della struttura fornita dall'itemData i WM_MEASUREITEM e WM_DRAWITEM messaggi. Questi messaggi vengono inviati quando la voce di menu viene visualizzata inizialmente o viene modificata.
MF_STRING Contiene un puntatore lungo in una stringa con terminazione null. Questa è l'interpretazione predefinita.
MF_SEPARATOR Il parametro lpszNewItem viene ignorato (non serve).

pBmp

Punti a un oggetto CBitmap che verrà utilizzata come la voce di menu.

Osservazioni

Consente di inserire una nuova voce nella posizione specificata da nPosition e si muove di altri oggetti giù il menu. L'applicazione può specificare lo stato della voce di menu impostando valori nFlags.

Ogni volta che un menu che risiede in una finestra è cambiato (o non viene visualizzata la finestra), l'applicazione deve chiamare CWnd::DrawMenuBar.

Quando nIDNewItem specifica un menu a comparsa, diventa parte del menu in cui è inserito. Se viene distrutto quel menu, il menu inserito anche sarà distrutti. Un menu inserito dovrebbe essere staccato da un oggetto CMenu per evitare conflitti.

Se l'attivo che è massimizzata finestra figlio (MDI) Interface, interfaccia a documenti multipli e un'applicazione inserti un menu a comparsa nel menu dell'applicazione MDI chiamando questa funzione e specificando il flag MF_BYPOSITION , il menu è inserita una posizione più lontano a sinistra rispetto al previsto. Questo accade perché il menu di controllo della finestra figlio MDI attivo viene inserito nella prima posizione della barra dei menu della finestra di cornice MDI. Per posizionare correttamente il menu, l'applicazione deve aggiungere 1 al valore di posizione che altrimenti sarebbe stato utilizzato. Un'applicazione può utilizzare il messaggio WM_MDIGETACTIVE per determinare se la finestra figlio attualmente attivo viene ingrandita.

CMenu panoramica |nbsp; Membri della classe | Gerarchia Chart

Vedere anchenbsp;CMenu:: AppendMenu, CWnd::DrawMenuBar, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: InsertMenu

Index