Aracılığıyla paylaş


CMenu::EnableMenuItem

Etkinleştirir, devre dışı bırakır veya bir menü öğesi karartır.

UINT EnableMenuItem(
   UINT nIDEnableItem,
   UINT nEnable 
);

Parametreler

  • nIDEnableItem
    Etkin olması için menü öğesi tarafından belirlendiği biçimde belirtir nEnable.Bu parametre, standart menü öğelerinin yanı sıra, açılan menü öğeleri belirtebilirsiniz.

  • nEnable
    Gerçekleştirilecek eylemi belirtir.Bir birleşimi olabilir MF_DISABLED, MF_ENABLED, ya da mf_grayed, birlikte mf_bycommand veya MF_BYPOSITION.Bitsel or işlecini kullanarak bu değerleri birleştirilebilir.Bu değerler anlamlarý þöyledir:

    • mf_bycommand parametresi varolan menü öğesinin komut kimliği verir belirtir.Bu varsayılandır.

    • MF_BYPOSITION parametresi varolan menü öğesinin konumunu verir belirtir.İlk öğe 0 konumunda değil.

    • MF_DISABLED menü öğesi seçilemez ancak onu dim değil, devre dışı bırakır.

    • MF_ENABLEDSeçilebilir ve soluk durumuna geri yükler böylece menü öğesi sağlar.

    • mf_grayed , böylece seçilemez ve onu karartır menü öğesini devre dışı bırakır.

Dönüş Değeri

Önceki durumuna (MF_DISABLED, MF_ENABLED, ya da mf_grayed) ya da geçerli –1.

Notlar

CreateMenu, InsertMenu, ModifyMenu, ve LoadMenuIndirect üye işlevler durumu (etkin, devre dışı veya soluk) aynı zamanda bir menü öğesi ayarlayabilirsiniz.

Kullanarak MF_BYPOSITION değeri gerektirir doğru kullanmak için bir uygulama CMenu.CMenu Menü çubuğu kullanıldığında, bir üst düzey menü öğesi (menü çubuğundaki bir öğeyi) etkilenir.Konuma göre açılır veya iç içe açılır menüsünde bir öğenin durumunu ayarlamak için bir uygulama belirtmelisiniz CMenu açılır menüsünden.

Ne zaman bir uygulamayı belirtir mf_bycommand bayrak, Windows için bağımlı olan tüm açılır menü öğeleri denetler CMenu; Yinelenen menü öğeleri var olmadığı sürece, bu nedenle, kullanarak CMenu menü çubuğu yeterli olur.

Örnek

// The code fragment below shows how to disable (and gray out) the 
// File\New menu item.
// NOTE: m_bAutoMenuEnable is set to FALSE in the constructor of 
// CMainFrame so no ON_UPDATE_COMMAND_UI or ON_COMMAND handlers are 
// needed, and CMenu::EnableMenuItem() will work as expected.

CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(0);
submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CMenu sınıfı

Hiyerarşi grafik

CMenu::GetMenuState

EnableMenuItem