Hilfe abschalten



  • Hallo,
    ich habe ein kleines dialogbasiertes Prohramm geschrieben, das keine Hilefe hat und braucht! Trotzdem will das Programm beim Drücken der F1-Taste generell eine Hilfe-Datei öffnen!
    1. Wie kann ich das Abschalten
    und die 2. Frage:
    Wie kann ich die Tasten F1-F12 durch eigene Funktionen belegen! Ich habe schon eine Accelerator-Liste hinterlegt! Die Tasten (z.b F1 oder F2) haben die slebe ID bekommen wie bei mir vorhanden Buttons! Trotzdem werden die zugehörigen Funktionen nicht aufgerufen, sondern bei F1 die nicht vorhandene Hilfe!

    Danke für die Tips



  • Zu 1.

    überlade die WM_HELPINFO und verändere die Funktion so wie unten und der Spuk mit F1 sollte vorbei sein

    BOOL CxxxDlg::OnHelpInfo(HELPINFO* pHelpInfo) 
    {
    	//return CDialog::OnHelpInfo(pHelpInfo);
    	return TRUE;
    }
    

    Accelator-Tasten werden vom Dialog nicht so ohne weiteres unterstützt. Folgende Code macht es möglich:

    Füge folgende in deiner InitInstance ein

    m_haccel=LoadAccelerators(AfxGetInstanceHandle(), 
           MAKEINTRESOURCE(IDR_ACCELERATOR1));
    

    Folgendes in deinem Headerfile deiner App:

    HACCEL		m_haccel;
    

    Dann überlädst Du noch ProcessMessageFilter deiner App

    BOOL CxxxApp::ProcessMessageFilter(int code, LPMSG lpMsg) 
    {
    	if(m_haccel)
        {
            if (::TranslateAccelerator(m_pMainWnd->m_hWnd, m_haccel, lpMsg)) 
                return(TRUE);
        }	
    	return CWinApp::ProcessMessageFilter(code, lpMsg);
    }
    

    Dann sollte es laufen.

    Gruß


Anmelden zum Antworten