Aracılığıyla paylaş


CWnd::GetSystemMenu

Uygulamanın Denetim menüsü kopyalama ve değiştirme için erişim sağlar.

CMenu* GetSystemMenu(
   BOOL bRevert 
) const;

Parametreler

  • bRevert
    Gerçekleştirilecek eylemi belirtir. bRevert Olan yanlış, GetSystemMenu şu anda kullanımda Denetim menüsü kopyası için bir tanıtıcı döndürür. Bu kopyayı Denetim menüsü başlangıçta aynıdır ancak değiştirilebilir. bRevert Olan doğru, GetSystemMenu Denetim menüsü varsayılan durumuna sıfırlar. Bozulur, önceki, büyük olasılıkla değiştirilmiş menüsünden kontrol. Dönüş değeri, bu durumda tanımlı değil.

Dönüş Değeri

Denetim menüsü kopyası varsa tanımlayan bRevert olan yanlış. bRevert Olan doğru, dönüş değeri undefined olur.

Döndürülen işaretçi geçici olabilir ve daha sonra kullanmak üzere depolanması gereken değil.

Notlar

Kullanılmayan herhangi bir pencere GetSystemMenu menü denetimi, kendi kopyasını oluşturmak için standart Denetim menüsü alır.

Tarafından döndürülen işaretçi GetSystemMenu ile üye işlevi kullanılabilir CMenu::AppendMenu, CMenu::InsertMenu, ya da CMenu::ModifyMenu denetim menüsünü değiştirmek için İşlevler.

Denetim menüsü başlangıçta gibi çeşitli kod değerleri ile tanımlanan öğeleri içeren sc_close, sc_move, ve SC_SIZE. Denetim menüsündeki öğeler oluşturmak wm_syscommand iletileri. Önceden tanımlanmış denetim menü öğelerinin tümü 0xF000'den büyük sayılar kimliği vardır. Bir uygulama Denetim menüsü öğeleri ekler, F000'den küçük sayılar Kimliğini kullanmalısınız.

Windows otomatik olarak öğeler kullanılamaz standart denetim menüsündeki kalmasına neden olabilir. CWndkendi seçimi veya kullanılamazlık yanıt vererek gerçekleştirebilirsiniz WM_INITMENU herhangi bir menü görüntülenmeden önce gönderilen iletiler.

Örnek

// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
   CString strAboutMenu;
   strAboutMenu.LoadString(IDS_ABOUT);
   if (!strAboutMenu.IsEmpty())
   {
      pSysMenu->AppendMenu(MF_SEPARATOR);
      pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
   }
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);   // Set big icon
SetIcon(m_hIcon, FALSE);  // Set small icon

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CWnd Sınıfı

Hiyerarşi grafik

CMenu::AppendMenu

CMenu::InsertMenu

CMenu::ModifyMenu

GetSystemMenu