ModifyMenu işlevi, var olan bir menü öğesini değiştirir. Bu işlev, içerik, görünümünü ve davranışını menü öğesinin belirtmek için kullanılır.
ModifyMenu işlevi SetMenuItemInfo işlevi tarafından bırakmıştır. Eğer sen yapmak değil lüzum birisi SetMenuItemInfo genişletilmiş özellikleri ModifyMenu, ancak kullanmaya devam edebilirsiniz.
bool ModifyMenu () HMENU'nun hMnu, / / işlemek için MenüUINTuPosition, / / menü madde değiştirmeUINTuFlags, / / menü öğesi flagsUINTuIDNewItem, / / menü madde tanımlayıcısı veya işlemek için açılan / / menü veya alt menülpctstrlpNewItem / / menü madde içeriği);
| Değer | Anlamı |
|---|---|
| MF_BYCOMMAND | UPosition parametresi menü öğesi tanıtıcısı sağlar gösterir. Ne mf_bycommand ne de MF_BYPOSITION bayrağı belirtilmişse mf_bycommand bayrağı varsayılan değerdir. |
| MF_BYPOSITION | UPosition parametre menüsüne sıfır tabanlı göreceli konumunu verir gösterir. |
| Değer | Anlamı |
|---|---|
| MF_BITMAP | Biteşlem tutamacı içeren. |
| MF_OWNERDRAW | Menü öğesine ilgili ek verileri korumak için kullanılan uygulama tarafından sağlanan 32 bitlik bir değer içerir. WM_MEASUREITEM lparam parametresinin tarafından işaret yapısını veya menü öğesi oluşturulduğunda veya görünüşünü gönderilip WM_DRAWITEM iletileri ItemData üyesi değerdir. |
| MF_STRING | Bir boş sonlandırılmış dize (varsayılan) gösteren bir işaretçi içeren. |
İşlev başarılı olursa, dönüş değeri sıfır.
İşlev başarısız olursa, dönüş değeri sıfırdır. Uzatılmış hata bilgilerini almak için GetLastError çağrı.
ModifyMenu açılan bir açılır menü veya alt menü öğesini geçiyorsa, işlev eski açılır menü veya alt menü yok eder ve onun tarafından kullanılan belleği serbest bırakır.
Bit eşlem veya sahibi çizilmiş menü öğeleri ile çalışmak klavye hızlandırıcıları amacıyla, menü sahibi wm_menuchar ileti işlemeniz gerekir. Daha fazla bilgi için bkz: Owner-Drawn menüler ve wm_menuchar ileti.
Uygulama menüsünde görüntülenen pencerede olup olmadığını bir menü değiştiğinde, DrawMenuBar işlevi çağırmanız gerekir. Varolan menü öğelerini ve özniteliklerini değiştirmek için o CheckMenuItem ve EnableMenuItem işlevleri kullanmak daha hızlıdır.
Aşağıdaki listede uFlags parametresinde ayarlanmış olabilir bayrakları açıklar:
| Değer | Anlamı |
|---|---|
| MF_BITMAP | Bit eşlem menü öğesini kullanır. LpNewItem parametresi, bitmap için tanıtıcı içerir. |
| MF_BYCOMMAND | UPosition parametresi, menü öğesi (varsayılan) tanımlayıcı belirtir gösterir. |
| MF_BYPOSITION | UPosition parametresi, yeni bir menü öğesi sıfır tabanlı göreli konumunu belirtir gösterir. |
| MF_CHECKED | Öğenin yanındaki onay işareti koyar. Onay işareti bitmapler (bkz: SetMenuItemBitmaps işlevi) uygulamanızı sağlar, bu bayrak menü öğesinin yanındaki işaretli bir bitmap görüntüler. |
| MF_DISABLED | Menü öğesi seçilemez, ancak bu bayrak o gri değil devre dışı bırakır. |
| MF_ENABLED | Böylece o seçilebilir ve gri durumuna yükler menü öğesi sağlar. |
| MF_GRAYED | Menü öğesi devre dışı bırakır ve böylece seçilemez o grays. |
| MF_MENUBARBREAK | İşlevleri gibi mf_menubreak için bir menü çubuğu bayrak. Bir açılır menü, alt menü veya kısayol menüsü için yeni bir sütun eski sütun dikey çizgiyle ayrılır. |
| MF_MENUBREAK | (Menü çubukları için) yeni bir satır öğesi yerleştirir veya sütunlarını ayıran olmadan yeni bir sütun (için açılır menü, alt menü veya kısayol menüsü). |
| MF_OWNERDRAW | Madde sahibi çizilmiş bir madde olduğunu belirtir. İlk kez menü görüntülenmeden önce Menü sahibi penceresinin genişliğini ve yüksekliğini menü öğesinin almak için bir WM_MEASUREITEM iletisi alır. Menü öğesinin görünümünü güncelleştirilmesi gereken her WM_DRAWITEM mesaj sonra sahibi penceresinin pencere yordamı gönderilir. |
| MF_POPUP | Menü öğesi bir açılır menüyü veya alt menüyü açar belirtir. UIDNewItem parametresi, açılır menü veya alt menü tanıtıcısını belirtir. Bu bayrak, bir menü çubuğu veya bir açılır menü, alt menü veya kısayol menüsü için bir alt menü açılır bir menüde menü adı eklemek için kullanılır. |
| MF_SEPARATOR | Yatay çizgi çizer. Bu bayrak, yalnızca bir açılır menü, alt menü veya kısayol menüsü kullanılır. Satır gri, devre dışı, vurgulanan veya değiştirilemez. LpNewItem ve uIDNewItem parametreleri yoksayılır. |
| MF_STRING | Menü öğesi bir metin dizesi belirtir; lpNewItem parametresinin dizeye işaret eder. |
| MF_UNCHECKED | (Varsayılan) öğesinin yanındaki onay işareti yerleştirmez. Onay işareti bitmapler (bkz: SetMenuItemBitmaps işlevi) uygulamanızı sağlar, bu bayrak menü öğesinin yanındaki denetlenmeyen bir bitmap görüntüler. |
Aşağıdaki gruplar bayrakları birlikte kullanılamaz:
Menüler genel bakış, menü işlevleri, döndürmesini, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM