Veröffentlicht 16. August 200520 j 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)
16. August 200520 j Bei einer dialogbasierten Anwendung sollte das eigentlich funktionieren. (siehe http://www.microsoft.com/mind/0499/faq/faq0499.asp)
16. August 200520 j Autor LPCKFSEARCH ist nicht deklariert. Habe schon windows.h includiert, hilft nicht.
16. August 200520 j 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?
16. August 200520 j Autor 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)
16. August 200520 j Autor Jetzt geht es. Wie kriege ich aber wieder den Accelerator hinzu ohne das es wieder Probleme gibt?
16. August 200520 j Versuch das mal: BOOL CProgrammDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message>=WM_KEYFIRST && pMsg->message<=WM_KEYLAST [b]&& pMsg->wParam != VK_TAB[/b]) { ...[/CODE]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.