CMenu* CWnd::GetSystemMenu()

CWnd::GetSystemMenu
允许应用访问"控制"菜单进行复制和修改。

CMenu* CWnd::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(十进制170000),如果应用程序将项目添加到"控制"菜单,则其ID号应小于F000。
Windows可能会自动使标准"控制"菜单上的项目不可用。CWnd可以通过响应在显示任何菜单之前内部发送的WM_INITMENU消息来执行自己的选择或不可用(carry out its own selection or unavailability)。*/
// 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值