Delphi 6 - Изменить курсор на компоненте TWebBrowser - PullRequest
0 голосов
/ 23 сентября 2010

В моей программе Delphi 6 Pro я могу успешно изменить курсор на компоненте TWebBrowser, используя приведенный ниже код, но только если он не содержит допустимого веб-документа:

const
    theCursorID: integer = 1;

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

Как только веб-документ загружается, курсор возвращается к стандартному указателю мыши. Я предполагаю, что это потому, что базовое окно (handle / canvas / etc.) Изменяется при загрузке веб-документа. Как успешно изменить курсор мыши при загрузке веб-документа?

1 Ответ

1 голос
/ 23 сентября 2010

Помните, что TWebBrowser - это обертка для IE, которая в свою очередь показывает согласованный пользовательский интерфейс, включая курсоры, используемые для «навигации» в браузере. Например, если загруженная веб-страница содержит гиперссылки, она изменит курсор на руку, чтобы пользователь знал, что он / она может щелкнуть эту гиперссылку.

Я не знаю способа изменить это поведение от Delphi, возможно, это возможно. Но, если вы контролируете загруженную веб-страницу (как мне кажется), вы можете кодировать на этой странице изменение курсора, потому что это поддерживается (только) в IE.

Если вы не можете или не хотите изменять свой файл .css, поместите следующий код в заголовок своей страницы:

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

В качестве альтернативы, вы можете напрямую изменить стиль элемента на вашей странице следующим образом:

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