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.