CMenu::InsertMenu

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

BOOL InsertMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, константа CBitmap* pBmp );

Значення, яке повертається

Ненульовий, якщо функція успішно; в іншому випадку 0.

Параметри

nPosition

Визначає, до яких є новий пункт меню Вставити пункт меню. Параметр nFlags можуть бути використані для інтерпретації nPosition таким чином:

nFlags Тлумачення nPosition
MF_BYCOMMAND Визначає, що параметр дає команди ID існуючий пункт меню. Це за замовчуванням, якщо ні MF_BYCOMMAND , ні MF_BYPOSITION.
MF_BYPOSITION Визначає, що параметр дає позиції існуючий пункт меню. Перший елемент знаходиться в позиції 0. Якщо nPosition – 1, новий пункт меню додається в кінці меню.

nFlags

Визначає, як інтерпретувати nPosition і визначає інформацію про стан новий елемент меню, коли воно додається до меню. Переглянути список прапорів, які можуть бути встановлені, AppendMenu член функції. Вказати більше ніж одне значення, використовуйте порозрядне OR оператор об'єднати їх з MF_BYCOMMAND або MF_BYPOSITION прапор.

nIDNewItem

Визначає або команди ID нового пункту меню або, якщо nFlags MF_POPUP, дескриптор меню (HMENU) у спливаючому меню. NIDNewItem параметра ігнорується (не потрібні), якщо nFlags MF_SEPARATOR.

lpszNewItem

Визначає вміст новий пункт меню. nFlags можуть бути використані для інтерпретації lpszNewItem таким чином:

nFlags Тлумачення lpszNewItem
MF_OWNERDRAW Містить надається в застосунку 32-бітні значення, програму можна використовувати для підтримки додаткові дані, пов'язані з пункту меню. Це 32-бітні значення доступна для застосування у itemData членом структури, які поставляються з WM_MEASUREITEM і WM_DRAWITEM повідомлення. Ці повідомлення надсилаються, коли елемент меню відображається або змінено.
MF_STRING Містить довгий вказівник на рядок із нульовим. Це за замовчуванням інтерпретація.
MF_SEPARATOR LpszNewItem параметра ігнорується (не потрібно).

pBmp

Пункту до CBitmap об'єкт, який буде використовуватися як пункт меню.

Зауваження

Вставка елемента меню в позиції, яку вказано на nPosition і переміщується в інші елементи меню. Додаток можна вказати стан елемента меню, встановивши значення в nFlags.

Кожного разу, коли змінюється меню, що знаходиться у вікні (або не відображається у вікні), додаток слід зателефонувати за CWnd::DrawMenuBar.

Коли nIDNewItem визначає спливаючого меню, стає частиною меню, в яких його вставлено. Якщо меню знищено, вставлений меню також бути знищені. Вставлений меню повинні відірвані від CMenu об'єкт, щоб уникнути конфліктів.

Якщо активний кілька інтерфейсом (MDI) документ дитини вікно розгорнуто і застосування-вставляє, спливаючі меню в меню додатків MDI виклик цієї функції та вказавши MF_BYPOSITION прапор, у меню Вставити одну позицію далі вліво, ніж очікувалося. Це відбувається тому, що меню активного вікна MDI дитини вставляється в першій позиції рядка меню вікна MDI кадру. Для розташування меню належним чином, застосування необхідно додати 1 до значення позиції, які в іншому випадку будуть використовуватися. Застосунок за допомогою WM_MDIGETACTIVE повідомлення можна визначити, чи дитини зараз активне вікно розгорнуто.

Огляд CMenu |nbsp; Члени класу | Ієрархічна діаграма

Дивіться такожnbsp;CMenu::AppendMenu, CWnd::DrawMenuBar, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: InsertMenu

Index