TWEBBROWSER und right-mouse-button

slav

Grünschnabel
Hallo !

Ich habe eine Frage.
Wie kann ich bei Twebbrowser right-mouse-button ausschalten. Es geht mir nicht um welche Javascripte mit HTML verbunden. Wie kann ich im Code bei Delphi 6.0 das ausschalten.

Wie kann ich verhindern, dass Quelltext angezeigt wird.
-----:mad:

Auf eure Antworte werde ich mich sehr freuen.
MfG

slav
 

Patrick Kamin

Erfahrenes Mitglied
-

Hallo slav!
TWebBrowser kapselt die Funktionen des Internets Explorers und somit auch die Anzeige nach Klicken der rechten Maustaste. Was mir jetzt dazu einfällt, wäre eine Klasse, die du von TWebBrowser ableitest und dort noch ein Ereignis OnRightClick hinzufügst. Dann müsstest du aber irgendwie verhindern, dass dieses PopUp angezeigt wird. Näheres kann ich dir dazu leider auch nicht sagen.
 

slav

Grünschnabel
So geht das !

:rolleyes:

-----------------
var
HookID:THandle;
DisableRButton:boolean;
Form1:TForm;

implementation

function MouseProc( nCode:integer;wParam,
lParam:longint):longint;stdcall;

function GetClassNameEnh( Handle:Hwnd):string;
var
ClassName:pChar;
Buffer:integer;
begin
Buffer:=40;
getmem( ClassName,Buffer);
windows.GetClassName( Handle,ClassName,Buffer);
Result:=ClassName;
Freemem( ClassName);
end;

var
P:TPoint;
begin
if (nCode<0) then
Result:=CallNextHookEx( HookID,nCode,wParam,lParam)
else if DisableRButton and ((wParam=WM_RBUTTONDOWN) or (wParam=
WM_RBUTTONUP)) then
begin
GetCursorPos( P);
if Pos( 'Internet Explorer_',GetClassNameEnh( WindowFromPoint( P)))<>0 then
Result:=HC_SKIP
else
Result:=CallNextHookEx( HookID,nCode,wParam,lParam);
end
else
Result:=CallNextHookEx( HookID,nCode,wParam,lParam);
end;


procedure TForm1.FormCreate( Sender:TObject);
begin
DisableRButton:=True;
HookID:=SetWindowsHookEx( WH_MOUSE,MouseProc,0,GetCurrentThreadId());
end;

procedure TForm1.FormDestroy( Sender:TObject);
begin
if HookID<>0 then
UnHookWindowsHookEx( HookID);
end;
-------------------------------