SystemMenu Close Item entfernen



  • BOOL MyAppDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
    
    	// 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_ABOUTBOX);
    		if (!strAboutMenu.IsEmpty())
    		{
    			pSysMenu->AppendMenu(MF_SEPARATOR);
    			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    		}
    
    		pSysMenu->RemoveMenu( MF_BYCOMMAND, SC_CLOSE );
                    //pSysMenu->DeleteMenu( MF_BYCOMMAND, SC_CLOSE );
    	}
    
    	// 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
    
    	// TODO: Add extra initialization here
    
    	return TRUE;  // return TRUE  unless you set the focus to a control
    }
    

    wieso gehen beide nicht ? ist mir ne raetchel



  • Also bei mir funktionierts so:

    CMenu* mnu = this->GetSystemMenu(FALSE);
    mnu->ModifyMenu(SC_CLOSE, MF_BYCOMMAND | MF_REMOVE );
    

Anmelden zum Antworten