2016-08-21 2 views
1

Я использую TRichMemo с темным цветом для свойства Color. Я могу изменить цвет шрифта на белый, но не могу найти способ изменить цвет мигающего каретки на что-то более яркое (см. Снимок экрана. Каретка находится между 2-дюймовыми символами в Hello. Обратите внимание на цвет каретки темно-серый, но не белый).Как изменить цвет каретки в TRichMemo (Lazarus lcl)

Есть ли простой способ настройки цвета каретки для TRichMemo? enter image description here

Спасибо!

ответ

2

Легко? Хорошо.

У меня была аналогичная проблема лет назад, и ответ, который я использовал, был пользовательским курсором.

Это решение работает в Delphi и должно теоретически работать в Lazarus (но см. http://forum.lazarus.freepascal.org/index.php?topic=32861.0), но в любом случае, возможно, это поможет вам найти свое окончательное решение.

Процесс в двух словах:

1) вам нужен файл курсора, mycursor.cur. Вы можете найти его в сети, в области delphi существует/есть утилита, которая позволит вам ее создать.

2) Создайте текстовый файл, такой как mycursor.rc (rc - это файл без компиляции).

3) В этом примере у него будет одна строка: myCUR CURSOR «mycursor.cur», все эти файлы должны находиться в основной папке программы.

4) Это необходимо скомпилировать в файл .res (mycursor.res), см. http://wiki.freepascal.org/Lazarus_Resources, в Delphi этот файл есть/был brcc32.exe. Ссылка выше объясняет процесс для лазаря, я его не тестировал.

5) Затем нужно поместить строку в коде, основная форма в порядке, как это:

{$ R} mycursor.res Дельфи стиль; (предкомпилированный файл ресурсы)

{$ R mycursor.rc} lazarus style (он будет/должен быть скомпилирован для вас). Почти готово.

6) В настоящее время в FormCreate пут:

(Delphi :) screen.cursors [1]: = LoadCursor (HINSTANCE, PChar ('myCUR')); (используйте имя, которое вы дали ему в rc-файле. cursors idx 1 to 32000 являются определяемыми пользователем, но здесь вам придется играть вокруг Lazarus, это немного по-другому, еще раз посмотрите, что ссылка выше).

7) Наконец, назначьте курсор вашему управлению: Richedit1.Cursor: = 1;

HTH.

Смежные вопросы