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_BYCOMMAND né MF_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