다음을 통해 공유


CWnd::GetSystemMenu

복사 및 수정에 대 한 컨트롤 메뉴에 액세스 하는 응용 프로그램이 있습니다.

CMenu* GetSystemMenu( 
   BOOL bRevert  
) const;

매개 변수

  • bRevert
    동작을 지정 합니다. 경우 bRevert 는 FALSE, GetSystemMenu 복사본을 현재 사용 중인 컨트롤 메뉴에 있는 핸들을 반환 합니다. 이 복사 컨트롤 메뉴로 동일한 처음 이지만 수정할 수 있습니다. 경우 bRevert 는 TRUE, GetSystemMenu 컨트롤 메뉴를 기본 상태로 다시 설정 합니다. 이전 수정 될 수도 있음, 파괴 되 면 메뉴에서 제어 합니다. 반환 값이 경우 정의 되지 않습니다.

반환 값

컨트롤 메뉴의 복사본을 경우 식별 bRevert 는 FALSE. 경우 bRevert 는 TRUE, 반환 값이 정의 되지 않습니다.

반환 된 포인터 임시 되어 나중에 사용 하려고 저장 해서는 안됩니다.

설명

사용 하지 않는 모든 창 GetSystemMenu 메뉴 컨트롤의 자체 복사본을 표준 컨트롤 메뉴를 받습니다.

반환 포인터는 GetSystemMenu 멤버 함수를 사용으로 CMenu::AppendMenu, CMenu::InsertMenu, 또는 CMenu::ModifyMenu 제어 메뉴를 변경 하는 함수.

컨트롤 메뉴 등 다양 한 ID 값으로 식별 되는 항목을 처음에 포함 SC_CLOSE, SC_MOVE, 및 SC_SIZE. 컨트롤 메뉴 항목 생성 WM_SYSCOMMAND 메시지. 미리 정의 된 모든 컨트롤 메뉴 항목의 ID 번호가 0xF000 보다 큰 경우 응용 프로그램의 컨트롤 메뉴에 항목을 추가 하는 경우 F000 보다 작은 ID 번호를 사용 해야 합니다.

Windows 자동으로 항목 사용할 수 없습니다 표준 컨트롤 메뉴에서 수 있습니다. CWnd자신의 선택 또는 사용할 수 없는 경우 아웃에 응답 하 여 수행할 수 있는 작업은 WM_INITMENU 모든 메뉴가 표시 되기 전에 전송 되는 메시지를.

예제

// 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

요구 사항

헤더: afxwin.h

참고 항목

참조

CWnd 클래스

계층 구조 차트

CMenu::AppendMenu

CMenu::InsertMenu

CMenu::ModifyMenu

GetSystemMenu