Laden...

Tastatureingaben von Acrobat Com Steuerelement ändern

Erstellt von Delirus vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.335 Views
D
Delirus Themenstarter:in
4 Beiträge seit 2014
vor 10 Jahren
Tastatureingaben von Acrobat Com Steuerelement ändern

Hallo Community,

ich habe folgendes Problem und finde dafür einfach keine Lösung, weder hier, noch im www.
Ich habe ein Programm das Pdf's (Com Element) und Bilder (Picture-Box) Anzeigt. In einem Verzeichnis liegen mehrere Pdf Dateien, die ich mit den Pfeiltasten "Left" - "Right" wechseln möchte. Die Funktion zum wechseln der Pdf-Dateien funktioniert auch, wenn ich das mit einem Button handle.
Aber ich bekomme es einfach nicht hin, dass das KeyEvent gefeuert wird, weil die Cursortasten werden von dem sch....önen Com Element nicht weitergereicht.

KeyPreview der Form steht auf true. Ein überschreiben der PreviewKeydown, IsInputKey, ProcessDialogKey, ProcessCmdKey und WndProc brachte mich nicht zum gewünschten Ergebnis.

Ich bin Anfänger in C# und hoffe mir kann einer helfen.

Danke und schöne Grüße
Delirus


R
212 Beiträge seit 2012
vor 10 Jahren

Hier *Ich steh auf lmgtfy
Google-Suche nach c# track keyboard

D
Delirus Themenstarter:in
4 Beiträge seit 2014
vor 10 Jahren

was ich eigentlich sagen wollte ist, in welche richtung soll ich suchen um mein problem zu lösen?

sind windowshooks denn ein lösungsansatz?


49.485 Beiträge seit 2005
vor 10 Jahren

Hallo Delirus,

wenn du schon alles probiert hast, was du beschrieben hast, dann sehe ich momentan nur zwei Möglichkeiten, entweder du probierst es wirklich mal mit Global Hooks oder du versuchst zu verhindern, dass das Com-Control den Focus bekommst, damit es dir die Tasten nicht mehr klauen kann.

herbivore

D
Delirus Themenstarter:in
4 Beiträge seit 2014
vor 10 Jahren

Hallo Herbivore,

daran hab ich auch schon gedacht, allerdings fehlt mir dazu (denke ich) die nötige Erfahrung um zu gewährleisten das dass tatsächlich auch so passiert. Mir scheint, das die Form trotz aller bemühungen den Focus immer wieder an ein anderes element verschiebt.

Allgemein sollte ich vllt noch erwähnen, das ich dass Com-element erst zu Laufzeit an ein Panel "dran hänge". Liegt darin der Hase im Pfeffer?
Irgendwas scheint da im hintergrund zu passieren, dass ich nicht kontrollieren kann, oder ich noch nicht im begriff bin zu überblicken. Hat jemand eine idee wie ich mit einer art "Holzhammer-methode" gewährleisten kann, das die Form (auf der ich die Keyevents feuere) immer den Focus behält?

Delirus


49.485 Beiträge seit 2005
vor 10 Jahren

Hallo Delirus,

ich meine mich zu erinnern, dass es keine gute Idee ist, den Focus auf die Form oder ein Panel zu setzen. Ich würde den Focus immer auf ein "bedienbares" Control setzen. Von diesem Control kann man LostFocus abonnieren. Und darin den Focus wieder zurücksetzen. Aber nicht mit der Focus-Methode (der Grund steht in der MSDN Doku), sondern z.B. mit der ActiveControl-Eigenschaft. Nötigenfalls muss man vor dem Zurücksetzen warten, bis der Focus-Wechsel abgeschlossen ist, siehe [FAQ] Bestimmte Aktionen bis nach der laufenden GUI-Event-Behandlung verzögern.

herbivore

D
Delirus Themenstarter:in
4 Beiträge seit 2014
vor 10 Jahren

Hallo nochmal,

vielen lieben dank, der gordische knoten in meinem hirn ist gelöst.

EDIT: ops, wie es nur zu diesem Schreibfehler kam ...


H
33 Beiträge seit 2009
vor 10 Jahren

... der gotischen knoten in meinem hirn ... 8o
Das kann ich als Altphilologe beim besten Willen so nicht durchgehen lassen. Es war wohl Alexander der Große, der kurz vor der Issos-Keilerei den gordischen Knoten löste!

Gruß, Harry B.

Kaum macht man 's richtig, schon funktioniert 's!