| |
|
|
Jörg Sellmeyer | Ich lass mir in einem HTML-Control große Bilder anzeigen. Das klappt auch hervorragend. Leider bekomme ich das Control nicht so aktiviert, dass ich die Pfeiltasten oder das Mausrad zum Scrollen einsetzen kann. Ich muss erst das Control anklicken. SetFocus funktioniert nicht. KompilierenMarkierenSeparieren |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 24.11.2015 ▲ |
|
|
|
|
Jörg Sellmeyer | Ok - hab selber was gefunden: [...]
Sollte es eine bessere Möglichkeit geben, bitte ich um Mitteilung. Welchen Grund hat es denn, dass das Control nicht mit normalen Profanmitteln aktiviert wird? SetActiveWindow funktioniert z. B. auch nicht. |
|
|
| |
|
|
|
| Das ist auch solch Verbund-Control das imho sogar in einem eigenen Context gerendert wird - darum ist eine Komm. auch nur über Ocx möglich (oder über zuhauchen).
Wir hatten das eigentliche Control aber schon am Bammel, schau mal in diese ocx.inc etc. |
|
|
| |
|
|
|
Jörg Sellmeyer | Ich glaub, da belass ich es einfach bei meiner Vorschlaghammer-Methode. |
|
|
| |
|
|
|
| Naah, Nachteil, dass das Fenster nicht überdeckt sein darf von einem anderen Fenster - etwa einer anderen APP die dann "Festplatten formatiert"?
Schau mal hab was gefunden in Uwes ocx3a.inc [...] : KompilierenMarkierenSeparierenControl&=control("AtlAxWin",ProgID$,Style&,xa%,ya%,xb%,yb%,Wnd&,0,0,0)
~AtlAxGetControl(Control&,addr(IUnknown&))
Gibt aber auch sowas: [...]
Bisl Hölle alles. |
|
|
| |
|
|
|
Jörg Sellmeyer | Oha - wenn du schon "Hölle" sagst... Ich schaus mir mal an, bin aber im Moment ganz zufrieden mit meiner Lösung. Da ich sowieso auf %hwnd teste, kann da auch kein fremdes Programm dazwischenschießen. |
|
|
| |
|
|
|
| Ein fremdes Programm kann schon noch dazwischen schießen, zwischen if und mouse_event sind schon "ein paar hundert" Zyklen für andere Prozesse/ Threads. Ließe sich zwar nochmal reduzieren die Gefahr, wenn man es in einer nProc ableisten würde, aber richtig "sicher" kann es nach dem Verfahren vermutlich nicht werden.
Muss man sich nur vorstellen, dass eben 2 Prozesse selbiges Verfahren nutzen. Man müsste bei mouse_event ein Ziel-Handle übergeben können aber das bietet scheinbar nicht einmal das neuere "SendInput".
Vlt. sollte man konzeptionell betrachtet den Mausklick eher als Nachricht mit SendMessage senden direkt an das betreffende Handle. Ist aber Jammern auf hohem Niveau. |
|
|
| |
|
|