AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT
Thema durchsuchen
Ansicht
Themen-Optionen

Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

Ein Thema von Koolance · begonnen am 17. Okt 2011 · letzter Beitrag vom 18. Okt 2011
Antwort Antwort
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#1

Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 17. Okt 2011, 14:50
Hallo,
ich habe gerade ein sehr merkwürdiges Problem mit Delphi 6. Ich habe eine Pagecontrol mit mehreren Tabs wobei jedes Tab mit einer Zahl als Shotcut versehen ist.

Auf einem Tab liegt ein TWebbrowser, und sobal ich in dem TWebbrowser eine Zahl drücke wird ein Shortcut aktiviert so als hätte ich z.B. ALT+1 gedrückt.

Das ganze lässt sich nicht mit dem Keydown Ereigniss von TForm abfangen.

Zur Veranschaulichung habe ich eine kleine Beispielanwendung geschrieben um das ganze zu veranschaulichen ("Google" drücken-> Dann in der Eingaben "1" oder "2").

Ein möglicher Lösungsansatz wäre ein Programm zu schreiben das über die Wingui alle ALT abfängt, aber zum einen habe ich noch keine Ahnung wie das gehen soll, zum anderen wären aber wahrscheinlich auch andere Windowsprogramme betroffen.
Angehängte Dateien
Dateityp: zip ShiftstateBug.zip (245,0 KB, 5x aufgerufen)

Geändert von Koolance (17. Okt 2011 um 14:53 Uhr) Grund: Rechtschreibfehler entfernt
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#2

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 17. Okt 2011, 15:36
Hmm...
Ich habe gerade Deine compilierte Anwendung getestet und muß feststellen, daß die Umschaltung zwischen den Tabs sowohl mit als auch ohne Tab-Taste funktioniert. Ich benutze XP und den IE 8.
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 17. Okt 2011, 15:40
Danke fürs angucken.
Ich weiß leider nicht ganz worauf du hinaus willst.

Mein Problem ist das wenn z.B. im Google Edit eine "1" eingegeben wird er auf das Tab&1 springt so also ob ich ALT+1 gedrückt hätte.

Ich benutze XP und IE 7.
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#4

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 17. Okt 2011, 15:45
Zusätzliche Info.
Ich habe das ganze mal mit Delphi 2007 kompiliert und habe das gleich Problem.
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#5

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 17. Okt 2011, 19:01
Sorry: Das war ein Mißverständnis. Ich dachte, dieses Verhalten sei so von Dir gewollt.

Ja - das ist tatsächlich etwas merkwürdig. Das Problem tritt übrigens auch mit Delphi XE auf. Die Ursache liegt offenbar darin, daß in TCustomTabControl.CMDialogChar nicht getestet wird, ob die Alt-Taste betätigt ist, sondern darauf vertraut wird, daß sich Windows schon etwas dabei denkt, wenn es diese Nachricht sendet. Und genau das geht hier schief.

Ich habe mal etwas getestet und eine Lösung gefunden (funktioniert zumindest bei mir):
Delphi-Quellcode:
type
  TPageControl = class(ComCtrls.TPageControl)
  private
    procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
  end;

  TForm1 = class(TForm)
    PageControl1: TPageControl;
    [...]
  end;

procedure TPageControl.CMDialogChar(var Message: TCMDialogChar);
begin
  if GetKeyState(VK_MENU) and $8000<>0
    then inherited;
end;
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 17. Okt 2011, 22:18
Ein guter Hinweis für den Spezialfall, allerdings reagieren (alle) Controls mit & Shortkey so, also auch Buttons auf dem Form....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#7

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 17. Okt 2011, 23:45
Ups - das hatte ich gar nicht getestet. Also müßte man für jede verwendete Standard-Komponente eine Ableitung schreiben. Viel Spaß...
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 18. Okt 2011, 07:23
Vielen Dank, auf die Idee wäre ich nicht gekommen.

Ich habe zum test auch mal einen Shortcut auf einen Button gelegt und der ist nicht betroffen. Daher super Lösung für mein gesamtes Problem (ich war schon kurz davor die Shortcuts vor dem öffnen des Webbrowsers zu entfernen).
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 18. Okt 2011, 10:11
@Koolance
interessant, bei mir(XE/2010) ist ein Button mit Caption Button&4 ebenfalls betroffen ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Koolance

Registriert seit: 28. Feb 2006
Ort: Kerpen
74 Beiträge
 
Delphi 6 Enterprise
 
#10

AW: Wenn TWebbrowser eingabe Shortcutaufruf ohne ALT

  Alt 18. Okt 2011, 12:45
Es ist etwas komisch, in meiner Beispielanwendung wird der Browser nicht noch einmal neu geöffnet wenn "Go&ogle" und ich ein "o" eingebe. In meiner richtigen Anwendung lag noch irgendwo ein Button mit einem "&x" der dann doch betroffen war.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz