![]() |
onmouseover für TWebBrowser ?
hi
bräuchte ein OnMouseOver Ereignis und auch eins fürs verlassen. Leider gibt es das nicht von hause aus. Gibt es die Möglichkeit da ein wenig zu trixen das es doch irgendwie geht ? Danke für jeden Tip =) |
Re: onmouseover für TWebBrowser ?
Guten Morgen,
lege Dir den TWebbrowser doch auf ein Panel. Da solltest Su ein OnMouseOver haben. Grüße Klaus |
Re: onmouseover für TWebBrowser ?
Zitat:
@Klaus: Das funktioniert aber nur, wenn der Panel sichtbar ist und nicht vollständig vom WB verdeckt wird. @FLINKER_FINGER: Was genau hast du vor? Genügt dir evtl. auch ein Ereignis, wenn der WB den Focus erhält. Dann schau mal ![]() |
Re: onmouseover für TWebBrowser ?
Danke schonmal für die schnellen Antworten =)
@Klaus: Das mit dem Panel habe ich schon ausprobiert. Es gibt bei mir (D7) nur ein onMouseMove ereignis, das tut es zur Not auch. Ist aber sehr unschön. -_- @toms: Aus dem Quellcode werde ich nicht so richtig schlau... Mit Pointern bin ich leider nicht so fit. Was ich gerade versuche: Habe viele kleine Webbrowser-Fenster. Die sind so klein, dass sie immer einen Scrollbalken haben. Diesen würde ich aber gern nur angezeigt bekommen, wenn die Maus über dem Fenster positioniert ist. Wenn sie das Fenster wieder verlässt sollen diese nicht mehr angezeigt werden, weil sie einfach stören. |
Re: onmouseover für TWebBrowser ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
die Ereignisse musst du eben nachrüsten.
Delphi-Quellcode:
Getestet mit Delphi 6.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw_TLB; type TMoveEvent = procedure (Sender: TObject; X, Y: Integer) of object; TWebBrowser = class(SHDocVw_TLB.TWebBrowser) private { Private-Deklarationen } FOnMouseMove: TMoveEvent; FOnMouseLeave: TNotifyEvent; procedure WMMOUSEMOVE(var Message: TMessage); message WM_MOUSEMOVE; procedure CMMOUSELEAVE(var Message: TMessage); message CM_MOUSELEAVE; public property OnMouseMove: TMoveEvent read FOnMouseMove write FOnMouseMove; property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; end; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; procedure FormCreate(Sender: TObject); private procedure WMMOUSEMOVE(Sender: TObject; X, Y: Integer); procedure CMMOUSELEAVE(Sender: TObject); public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TWebBrowser.WMMOUSEMOVE(var Message: TMessage); begin if assigned(FOnMouseMove) then FOnMouseMove(Self, Message.LParamLo, Message.LParamHi); end; procedure TWebBrowser.CMMOUSELEAVE(var Message: TMessage); begin if assigned(FOnMouseLeave) then FOnMouseLeave(Self); end; procedure TForm1.WMMOUSEMOVE(Sender: TObject; X, Y: Integer); begin Caption:= Format('WM_MOUSEMOVE X:%d Y:%d', [X, Y]); end; procedure TForm1.CMMOUSELEAVE(Sender: TObject); begin Caption:= 'CM_MOUSELEAVE'; end; procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.OnMouseMove:= WMMOUSEMOVE; WebBrowser1.OnMouseLeave:= CMMOUSELEAVE; end; end. |
Re: onmouseover für TWebBrowser ?
hui, sieht sehr gut aus =)
nur leider bekomme ich die Fehlermeldung das ich die "SHDocVw_TLB.dcu" nicht habe... |
Re: onmouseover für TWebBrowser ?
Zitat:
|
Re: onmouseover für TWebBrowser ?
Ja das geht wunderbar !! ich habe zu danken !! :dp:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr. |
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