| ecfisa |
17-06-2013 01:32:26 |
Hola force1758.
No entiendo muy bién lo que estas buscando hacer, pero fijate si te sirve de este modo:
Código Delphi [-]
...
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
procedure FormCreate(Sender: TObject);
...
private
procedure Procedimiento(const Mensaje: string);
procedure MouseEvent(var Msg: TMsg; var Handled: Boolean);
public
...
end;
var
Form1: TForm1;
implementation
procedure TForm1.Procedimiento(const Mensaje: string);
begin
Caption := Mensaje;
end;
procedure TForm1.MouseEvent(var Msg: TMsg; var Handled: Boolean);
var
WC : TWinControl;
s : string;
begin
WC := FindVCLWindow(Mouse.CursorPos);
if (WC <> nil)and(WC is TWebBrowser) then
begin
case Msg.message of
WM_LBUTTONDOWN: Procedimiento('Botón izquierdo presionado');
WM_RBUTTONDOWN: Procedimiento('Botón derecho presionado');
end;
end;
Handled := False;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := MouseEvent;
WebBrowser1.Navigate('www.ClubDelphi.com');
...
end;
...
procedure TForm1.FormDestroy(Sender: TObject);
begin
Application.OnMessage := nil;
end;
Algo a tomar en cuenta: Si dentro de " Procedimiento" se le quita el foco al TWebBrowser, se perdería la acción previa esperada. Por ejemplo la que se provoca al hacer click sobre un componente web que direcciona a un enlace.
Saludos. :)
|