Entwickler-Ecke

Internet / Netzwerk - Klick Poisition von TWebBrowser


Airtrox - Do 21.01.10 14:34
Titel: Klick Poisition von TWebBrowser
Hallo,
ich habe ein kleines Problem:

Ich habe einen TWebbrowser und möchte bleib Klick auf einen bestimmten Bereich (Bereich variiert + ca 10x10px groß) eine Anweisung ausführen und alle weiteren Fenster, die geöffnet wurden oder durch den Klick geöffnet werden, schließen.

Ist das möglich, oder muss ich da anders ran gehen?


Xion - Fr 22.01.10 08:30

Dz kannst normalerweiße die Mausposition (auf dem Bildschirm) umrechnen für ein kleineres Objekt *grübel* kann mir das nie merken

Cursor.MousePos oder Mouse.CursorPos ist die Position der Maus :P

Und dann kannst du z.B. mit Form1.ScreenToClient( CursorPos ) die Position auf die Form umrechnen. Möglich dass es diese Funktion auch beim TWebBrowser gibt. Ansonsten könnte man vielleicht die Farbe an der Stelle auslesen, oder wenn du weißt wo der TWebBrowser ist und wo die beschriebene Region ist, kannst dus auch so berechnen


smt - Fr 22.01.10 10:16

Ich kann Dir die Komponente TEmbeddedWeb empfehlen. Ist Open-Source und dort ist eine Komponente dabei, die sich HTMLListerner nennt. Dort kann man eine Action definieren, die z.b. ausgeführt wird, wenn man mit der Maus irgendwo hinklickt. Als Result bekommst Du genau das Element als IHTMLElement zurück, welches Du angeklickt hast. Ist wirklich ganz einfach und die Beispiele zeigen auch sehr schön, wie es geht. Ach ja: Der TEmbeddedWeb ist natürlich kompatibel zum TWebbrowser - musst also nichts umschreiben.

Hier kann man das gute Stück runterladen:
http://www.bsalsa.com/


VG Sascha