Narf! Geschrieben 16. August 2005 Geschrieben 16. August 2005 Hallo an alle, ich habe den WebBrowser als ActiveX-Element auf meinem Dialog. Wenn ich eine Seite mit Links geladen und den Eingabefokus auf dieses Fenster gesetzt habe, kann ich zwar mit den Pfeiltasten die Seite auf und ab scrollen, aber mit der TAB-Taste kann ich die Links nicht anspringen. Wenn ich die selbe Seite im normalen IExplorer aufrufe, geht das. Woran kann das liegen? (MS Visual Studio .NET 2003, C++, MFC, Dialogfeldbasierend) Zitieren
Klotzkopp Geschrieben 16. August 2005 Geschrieben 16. August 2005 Bei einer dialogbasierten Anwendung sollte das eigentlich funktionieren. (siehe http://www.microsoft.com/mind/0499/faq/faq0499.asp) Zitieren
Narf! Geschrieben 16. August 2005 Autor Geschrieben 16. August 2005 LPCKFSEARCH ist nicht deklariert. Habe schon windows.h includiert, hilft nicht. Zitieren
Klotzkopp Geschrieben 16. August 2005 Geschrieben 16. August 2005 LPCKFSEARCH ist nicht deklariert. Habe schon windows.h includiert, hilft nicht.Was willst du damit? Das ist der Lösungsansatz für WinAPI-Dialoge. Du hast doch MFC, da sollte das eigentlich gar nicht notwendig sein. Hast du irgendwelche Änderungen an der Verarbeitung von Tastaturereignissen gemacht, z.B. in PreTranslateMesage? Zitieren
Narf! Geschrieben 16. August 2005 Autor Geschrieben 16. August 2005 Meine PreTranslateMessage-Funktion habe ich geändert, um den Accelerator in den Dialog einzubinden: BOOL CProgrammDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message>=WM_KEYFIRST && pMsg->message<=WM_KEYLAST) { return ::TranslateAccelerator(m_hWnd, (HACCEL__ *) hAccelerator, pMsg); }//end if(pMsg->message>=WM_KEYFIRST && pMsg->message<=WM_KEYLAST) return CDialog::PreTranslateMessage(pMsg); }//end BOOL CProgrammDlg::PreTranslateMessage(MSG* pMsg) Zitieren
Klotzkopp Geschrieben 16. August 2005 Geschrieben 16. August 2005 Kommentier den Aufruf von TranslateAccelerator doch mal aus, nur zum Test. Zitieren
Narf! Geschrieben 16. August 2005 Autor Geschrieben 16. August 2005 Jetzt geht es. Wie kriege ich aber wieder den Accelerator hinzu ohne das es wieder Probleme gibt? Zitieren
Klotzkopp Geschrieben 16. August 2005 Geschrieben 16. August 2005 Versuch das mal: BOOL CProgrammDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message>=WM_KEYFIRST && pMsg->message<=WM_KEYLAST [b]&& pMsg->wParam != VK_TAB[/b]) { ...[/CODE] Zitieren
Narf! Geschrieben 16. August 2005 Autor Geschrieben 16. August 2005 Es ist der helle Wahnsinn, es funktioniert. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.