Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi MounseOver mit TWebbrowser und Frames... (https://www.delphipraxis.net/66393-mounseover-mit-twebbrowser-und-frames.html)

Mavarik 29. Mär 2006 14:47

Re: MounseOver mit TWebbrowser und Frames...
 
Zitat:

Zitat von toms

Nachtrag: Funktioniert so, aber falls mehrere Frames vorhanden sind, gibt's eine AV bei

Delphi-Quellcode:
element := htmlDoc.parentWindow.event.srcElement;
da event = nil ist...

Tja... Und wenn das so ist? Wie kann ich dann auf die Tags unter der Maus zugreifen?

Frank :wiejetzt:

marabu 29. Mär 2006 20:06

Re: MounseOver mit TWebbrowser und Frames...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Frank,

ich hänge mal eine Demo rein und hoffe dass du damit klar kommst. Habe den Code nicht exzessiv getestet und freue mich über jede Rückmeldung (hi toms) und auch Verbesserungsvorschläge.

marabu

Mavarik 30. Mär 2006 08:13

Re: MounseOver mit TWebbrowser und Frames...
 
:love:

Zitat:

Zitat von marabu
Hallo Frank,

ich hänge mal eine Demo rein und hoffe dass du damit klar kommst. Habe den Code nicht exzessiv getestet und freue mich über jede Rückmeldung (hi toms) und auch Verbesserungsvorschläge.

marabu

:dancer: :witch: :dancer2:

Funktioniert super! Vielen Dank, genau das was ich brauche... :bounce1:

Auch wenn ich es nicht so ganz verstehe... Aber wenn ich sehe wie einfach es geht
könnte ich :kotz:

Wieso wird der event den über alle Fenster gesucht?
Delphi-Quellcode:
  for i := Low(wins) to High(wins) do
  begin
    evt := wins[i].event;
    Result := Assigned(evt);
    if Result then Exit;
  end;
Der event kann doch nur vom eigenen Fenster kommen, oder?

LG Frank :coder:

marabu 30. Mär 2006 08:35

Re: MounseOver mit TWebbrowser und Frames...
 
Hallo Frank,

wenn es einfach aussieht, dann ist das oft ein Qualitätsmerkmal - aber leider nicht immer.

Zitat:

Zitat von Mavarik
Wieso wird der event den über alle Fenster gesucht?

Ich habe immer noch keine Idee, wie ich aus dem event handler heraus das "aktive" Fenster ermitteln kann. Also iteriere ich solange über die Fenster der einzelnen Frames, bis mir ein gültiges event object signalisiert, dass ich das aktive Fenster gefunden habe. Eventuell gibt es ja einen eleganteren Ansatz, aber er fällt mir gerade nicht ein und ich habe auch nicht unbegrenzt Zeit für eine Suche.

Freundliche Grüße vom marabu

toms 30. Mär 2006 08:50

Re: MounseOver mit TWebbrowser und Frames...
 
Hallo marabu

Habe den Code kurz getestet und er scheint gut zu funktionieren. Danke für deine Mühe!

Mavarik 31. Mär 2006 16:50

Re: MounseOver mit TWebbrowser und Frames...
 
Zitat:

Zitat von marabu
Hallo Frank,

Ich habe immer noch keine Idee, wie ich aus dem event handler heraus das "aktive" Fenster ermitteln kann.

Freundliche Grüße vom marabu

Habe eine Lösung dafür! Interesse? :thumb:

Frank :coder:

toms 31. Mär 2006 17:36

Re: MounseOver mit TWebbrowser und Frames...
 
Klar!

Mavarik 3. Apr 2006 09:04

Re: MounseOver mit TWebbrowser und Frames...
 
Zitat:

Zitat von toms
Klar!

Also....

Da Du ja selbder den event "feuerst".
Einfach den Event erweitern. Zuerst die Procedure

Delphi-Quellcode:
TObjectProcedure = procedure(Win:byte) of object;
Und dann den Aufruf!

Delphi-Quellcode:
if Assigned(FOnEvent) then FOnEvent(FWin);
Und natürlich den Create:

Delphi-Quellcode:
TEventObject.Create(Document_OnMouseOver,High(htmldoc)) as IDispatch;
mfg Frank :coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz