0

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

const
    theCursorID: integer = 1;

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

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

4

1 回答 1

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>)" >... 
于 2010-09-23T16:36:02.937 回答