problem mit OnSysCommand



  • ich habe in meinem projekt das about(info) Dialog per Systemmenü erreichbar

    angelegt wird es folgendermaßen

    // 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);
    		}
    	}
    

    und dann habe ich eben folgende Funktion

    void CWebServerDlg::OnSysCommand(UINT nID, LPARAM lParam)
    {
    	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    	{
    		CAboutDlg dlgAbout;
    		dlgAbout.DoModal();
    	}
    	else
    	{
    		CDialog::OnSysCommand(nID, lParam);
    	}
    }
    

    mein Problem ist das wenn ich bei meinem Programm in der Titelleiste aufs Linke Symbol klicke und dort auf About gehe passiert nichts

    Dachte erst es liegt daran das ich OnSysCommand irgendwo überschreibe oder Vorher abfange oder so in der Art aber dem ist nicht so wenn ich in der Titelleiste aufs Icon Klicke durchläuft er eben die funktion

    ich hab keine Ahnung warum die If Bedingung nicht wahr wird vorallem hab ich ja noch die erste Version des Programmes und dort funktionierts einwandfrei.


Anmelden zum Antworten