Funcția ModifyMenu modifică un element de meniu existent. Această funcție se utilizează pentru a specifica conținutul, aspectul și comportamentul elementul de meniu.
Funcția ModifyMenu a fost înlocuit de funcția SetMenuItemInfo . Puteți utiliza în continuare ModifyMenu, cu toate acestea, în cazul în care nu aveți nevoie de orice caracteristici extinse ale SetMenuItemInfo.
(BOOL ModifyMenu HMENU hMnu, / / ocupa la meniuUINTuPosition, / / element de meniu pentru a modificaUINTuFlags, / / element de meniu steaguriUINTuIDNewItem, / meniul punctul identificator sau ocupa de la drop-jos / / meniu sau submeniuLPCTSTRlpNewItem / / meniul element conținut);
| Valoarea | Sensul |
|---|---|
| MF_BYCOMMAND | Indică faptul că parametrul uPosition oferă identificatorul elementului de meniu. Pavilionul MF_BYCOMMAND este implicit dacă nu este specificat nici MF_BYCOMMAND, nici MF_BYPOSITION pavilion. |
| MF_BYPOSITION | Indică faptul că parametrul uPosition oferă zero-based poziția relativă a elementului de meniu. |
| Valoarea | Sensul |
|---|---|
| MF_BITMAP | Conține un mâner bitmap. |
| MF_OWNERDRAW | Conține o valoare de 32-bit furnizate de o aplicație care este folosit pentru a menține date suplimentare referitoare la elementul de meniu. Valoarea este membru itemData structura a subliniat de parametrul lparam de WM_MEASUREITEM sau WM_DRAWITEM mesajelor trimise atunci când elementul de meniu este creată sau este actualizată aspectul său. |
| MF_STRING | Conține un indicator spre un șir null-terminated (implicit). |
Dacă funcția reușește, valoarea returnată este nenul.
Dacă funcția nu reușește, valoarea returnată este zero. Pentru a ob?ine informa?ii extinse despre erori, apel GetLastError.
Dacă ModifyMenu înlocuiește un element de meniu care se deschide un drop-jos meniu sau submeniu, funcția distruge vechi drop-jos meniu sau submeniu și eliberează memorie utilizat de către acesta.
Pentru ca acceleratoare de tastatură pentru a lucra cu bitmap sau elemente de meniu-trase de proprietar, proprietarul a meniului trebuie să prelucreze mesaj WM_MENUCHAR. Pentru mai multe informații, consultați meniuri Owner-Drawn și mesajul WM_MENUCHAR.
Cererea trebuie să apela funcția de DrawMenuBar ori de câte ori un meniu se modifică, dacă este sau nu din meniul într-o fereastră afișată. Pentru a modifica atributele de elemente de meniu existent, este mult mai rapid să utilizați funcțiile CheckMenuItem și EnableMenuItem.
Lista următoare descrie steagurile care pot fi stabilite în parametrul uFlags:
| Valoarea | Sensul |
|---|---|
| MF_BITMAP | Utilizează un bitmap ca elementul de meniu. Parametrul lpNewItem conține ghidajul în bitmap. |
| MF_BYCOMMAND | Indică faptul că parametrul uPosition specifică identificatorul elementului de meniu (implicit). |
| MF_BYPOSITION | Indică faptul că parametrul uPosition specifică zero-based poziția relativă a elementului de meniu nou. |
| MF_CHECKED | Plasează un marcaj de selectare lângă elementul. Dacă aplicația oferă bitmap-uri marcaj (a se vedea funcția SetMenuItemBitmaps ), acest pavilion afișează un bitmap verificate lângă la elementul de meniu. |
| MF_DISABLED | Dezactivează elementul de meniu, astfel încât aceasta nu poate fi selectată, dar acest pavilion gri nu este. |
| MF_ENABLED | Permite elementul de meniu, astfel încât să pot fi selectate și se restaurează la starea gri. |
| MF_GRAYED | Dezactivează elementul de meniu și Crawley Town este astfel încât poate fi selectat. |
| MF_MENUBARBREAK | Funcții la fel ca MF_MENUBREAK de pavilion pentru o bară de meniu. Pentru un drop-jos meniu, submeniu, sau meniul de comenzi rapide, coloana nou este separate din coloana vechi de o linie verticală. |
| MF_MENUBREAK | Plasează elementul la o nouă linie (pentru bare de meniu) sau într-o coloană nou (pentru un drop-jos meniu, submeniu, sau meniul de comenzi rapide) fără separare coloane. |
| MF_OWNERDRAW | Precizează că elementul este un element-trase de proprietar. Înainte de pentru prima dată este afișat meniul, fereastra care deține meniul primește un mesaj WM_MEASUREITEM pentru a prelua lățimea și înălțimea elementului de meniu. Mesajul WM_DRAWITEM apoi este trimis la procedura fereastra din fereastra proprietarul ori de câte ori trebuie să fie actualizate aspectul elementul de meniu. |
| MF_POPUP | Precizează că elementul de meniu deschide un drop-jos meniu sau submeniu. Parametrul uIDNewItem specifică ghidajul drop-jos meniu sau submeniu. Acest flag este utilizat pentru a adăuga un nume de meniu la o bară de meniuri sau un element de meniu care se deschide un submeniu drop-jos meniu, submeniu, sau meniul de comenzi rapide. |
| MF_SEPARATOR | Desenează o linie despărțitoare orizontală. Acest flag este utilizat numai în drop-jos meniu, submeniu, sau meniul de comenzi rapide. Linia nu poate fi gri, dezactivat, sau subliniat. Parametrii lpNewItem și uIDNewItem sunt ignorate. |
| MF_STRING | Precizează că elementul de meniu este un șir de text; parametrul lpNewItem puncte la șirul. |
| MF_UNCHECKED | Nu plasați un marcaj lângă elementul (implicit). Dacă aplicația furnizează bitmap-uri marcaj (a se vedea funcția SetMenuItemBitmaps ), acest pavilion afișează un bitmap unchecked lângă la elementul de meniu. |
Următoarele grupe de steaguri nu pot fi utilizate împreună:
Meniurile privire de ansamblu, meniul Funcții, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM