CWnd::GetSystemMenu
允許應用程式存取複製和修改的 。
CMenu* GetSystemMenu(
BOOL bRevert
) const;
參數
- bRevert
指定要採取的動作。 如果 bRevert 是 否, GetSystemMenu 將控制代碼傳回給目前使用中的 的複本。 這個複本與控制項功能表一開始都是相同的,但可以進行修改。 如果 bRevert 是 是, GetSystemMenu 重設控制項功能表加入至預設狀態。 可以修改,則控制項功能表,如果有的話,終結之前。 傳回值在這個案例中未定義的。
傳回值
如果是, bRevert否,識別功能表控制項的複本。 如果 bRevert 是 是,則傳回值為 undefined。
傳回的指標可能是暫時的,而且不應儲存供日後使用。
備註
不使用 GetSystemMenu 執行本身的複本控制功能表的所有視窗接收標準控制項功能表。
GetSystemMenu 成員函式所傳回的指標可與 CMenu::AppendMenu、 CMenu::InsertMenu或 CMenu::ModifyMenu 函式變更控制項的功能表。
控制項功能表原本包含項目會識別與各種 ID 值 (例如 SC_CLOSE、 SC_MOVE和 SC_SIZE。 在控制項中的功能表項目產生 WM_SYSCOMMAND 訊息。 所有預先定義之控制項的功能表項目會有 0xF000 ID 號碼大於。 如果應用程式將項目加入至控制項功能表,則會 F000 應該使用 ID 編號。
視窗會以標準控制項功能表可能會自動讓項目無法使用。 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
需求
Header: afxwin.h