Delphi 6 - 更改TWebBrowser组件上的游标

时间:2010-09-23 16:18:02

标签: delphi cursor twebbrowser

在我的Delphi 6 Pro程序中,我可以使用下面的代码成功更改TWebBrowser组件上的光标,但只有当它不包含有效的Web文档时才能:

const
    theCursorID: integer = 1;

Screen.Cursors[theCursorID] := LoadCursorFromFile(PChar(theAniCursorFilename));
theWebBrowser.Cursor := theCursorID;

加载Web文档后,光标将恢复为标准鼠标指针。我猜这是因为底层窗口(句柄/画布/等)在加载Web文档时会发生变化。如何在加载Web文档时成功更改鼠标光标?

1 个答案:

答案 0 :(得分:1)

请记住,TWebBrowser是IE的包装器,它反过来显示一致的用户界面,包括用于在浏览器中“导航”的游标。例如,无论加载的网页包含超链接,它都会将光标更改为一只手,让用户知道他/她可以点击该超链接。

我知道无法从Delphi中改变这种行为,也许是可能的。但是,如果您控制加载的网页(对我来说似乎是这种情况),您可以在该页面中对游标进行编码更改,因为它仅在IE中受支持。

如果您不能或不想修改.css文件,请将以下代码放入页面标题:

<style type="text/css">
<!--
BODY { cursor:url("<url of your cursor>"); }
-->

或者,您可以直接修改页面上元素的样式,如下所示:

...<body style="cursor:url(<url of your cursor>)" >...