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)
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)
Narf! Geschrieben 16. August 2005 Autor Geschrieben 16. August 2005 LPCKFSEARCH ist nicht deklariert. Habe schon windows.h includiert, hilft nicht.
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?
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)
Klotzkopp Geschrieben 16. August 2005 Geschrieben 16. August 2005 Kommentier den Aufruf von TranslateAccelerator doch mal aus, nur zum Test.
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?
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]
Narf! Geschrieben 16. August 2005 Autor Geschrieben 16. August 2005 Es ist der helle Wahnsinn, es funktioniert.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden