PDA

Ver la Versión Completa : darle click a webBrower de aplicacion


force1758
16-06-2013, 23:46:52
Hola mis amigo de esta gran comunidad perdone si es aqui en esta zona la correcta pero estoy tratando de hacer en mi aplicacion darle click izquierdo en el webBrower se ejecute un procedimiento ya que no me da opcion de colocarle sendclick cuando le doy click

Casimiro Notevi
17-06-2013, 00:10:56
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración :)

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:

...
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. :)

force1758
17-06-2013, 20:25:08
Gracias amigo por responder Tan rápido me sirvió de mucho pero en vez que el mensaje lo ponga en la form se puediera colocar en un label o edit ¿?¿?

Gracias

ecfisa
17-06-2013, 21:52:51
Hola force1754.
...pero en vez que el mensaje lo ponga en la form se puediera colocar en un label o edit ¿?¿?
Si por supuesto, algunos ejemplos:

procedure TForm1.Procedimiento(const Mensaje: string);
begin
Label1.Caption := Mensaje;
Edit1.Text := Mensaje;
ListBox1.Items.Add(Mensaje);
...
...
end;


Saludos. :)

force1758
17-06-2013, 22:00:29
Gracias amigo ahora si Tienes mis Respetos xD Saludos