我已重写TWebBrowser
的WndProc以捕获鼠标单击,如下所示(快速示例):
procedure TWebBrowser.WndProc(var AMsg: TMessage);
begin
with AMsg do
begin
case WParam of
WM_LBUTTONDOWN: Text := "DOWN";
WM_LBUTTONUP: Text := "UP";
end;
end;
WM_LBUTTONDOWN
正在发生并且工作正常。但是有些东西吞噬了WM_LBUTTONUP
消息,但它永远不会发生。右键和中间按钮的用法相同。
任何想法为什么没有BUTTONUP消息?
我最终放弃了以上的WndProc
方法,并通过下沉onmousedown
和onmouseup
事件解决了该问题,这些事件也提供了对该过程的更多控制权,并且比上述情况允许更多的事件,此链接上描述的方法:https://www.thoughtco.com/url-hyperlink-twebbrowser-document-1058415