如何在TRichMemo中更改插入符颜色(Lazarus lcl)

时间:2016-08-21 20:51:31

标签: lazarus freepascal caret

我正在使用Color属性为TRichMemo的深色TRichMemo。我可以将字体颜色更改为白色,但似乎找不到将闪烁的插入符号颜色更改为更醒目的方法(请参见屏幕截图。插入符号位于2" l" s之间你好。注意插入符号的颜色是深灰色,但不是白色。

是否有一种简单的方法来设置<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1"> <persistence-unit name="PU" transaction-type="JTA"> <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <jta-data-source>java:jboss/datasources/mysqldb</jta-data-source> <class>model.Commodity</class> <class>...</class> <properties> <!-- <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"/> --> <!-- <property name="hibernate.hbm2ddl.auto" value="update" /> --> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <!-- <property name="hibernate.show_sql" value="true" /> --> <property name="hibernate.enable_lazy_load_no_trans" value="true" /> </properties> </persistence-unit> <persistence-unit name="RLPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <jta-data-source>java:jboss/datasources/mysqldb</jta-data-source> <class>model.Commodity</class> <class>...</class> <properties> <!-- <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"/> --> <!-- <property name="hibernate.hbm2ddl.auto" value="update" /> --> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <!-- <property name="hibernate.show_sql" value="true" /> --> <property name="hibernate.enable_lazy_load_no_trans" value="true" /> </properties> </persistence-unit> </persistence> 的插入符号颜色? enter image description here

谢谢!

1 个答案:

答案 0 :(得分: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} delphi风格;(预编译资源文件)

{$ R mycursor.rc} lazarus style(它将/应该为你编译)。几乎完成了。

6)现在在formcreate中:

(Delphi :) screen.cursors [1]:= loadcursor(hinstance,pchar('myCUR')); (使用你在rc文件中给出的名称。游标idx 1到32000是用户可定义的,但在这里你必须玩Lazarus处理它有点不同,再次看到上面的链接。)

7)最后,将光标指定给你的控件:Richedit1.Cursor:= 1;

HTH。