如何获知RichEdit中当前光标的绝对位置。也就是说光标前的符数。 (100分)

  • 主题发起人 主题发起人 kifo
  • 开始时间 开始时间
K

kifo

Unregistered / Unconfirmed
GUEST, unregistred user!
{λ φ Ω 三个字符中的任一字符通过RichEdit用ADO的SQL语句写入Access数据库,正常。
用SQL查询并读出到RichEdit后提示"RichEdit Line insertion error."。并且有时能显示有时不能显示出。
写入时是文本,读出的语句是:
RichEdit1.Lines.Clear ;
while not adoquery2.eof do
begin
RichEdit1.Lines.Add(ADOQuery2.fields[3].AsString);
adoquery2.Next;
end;
这个问题不讨论了,已解决}

换一个话题,
当在编辑richedit内容的时候,去做其它动作,好像按年按钮、在其它的Edit或Treeview中写点什么或是点击
一下什么的,richedit的什么事件发现这些动作。不要让我给每个按钮,Edit,Treeview都加一段检查richedit
的代码,这样太复杂了。也别让我改用RxRichEdit什么的控件。
谢谢,有请高手了。
这个话题也不行,再来一个。
[red]如何获知RichEdit中当前光标的绝对位置。也就是说光标前的符数。[/red]
 
我试过,是有你说的问题,改用RxRichedit控件吧!没此类问题,它比RichEdit可强大的多!◎
 
这个问题我也遇到过。[:(]
关注!!!
 
你用rxdbrichedit吧
 
是的,RxRichedit控件是没这个问题。我次是想对Richedit了解一下。如果做商业软件RxRichedit有
版权问题吗?
 
这个问题不讨论了。用流存,再用RichEdit读流就完事了。
换一个话题,
当在编辑richedit内容的时候,去做其它动作,好像按年按钮、在其它的Edit或Treeview中写点什么或是点击
一下什么的,richedit的什么事件发现这些动作。不要让我给每个按钮,Edit,Treeview都加一段检查richedit
的代码,这样太复杂了。也别让我改用RxRichEdit什么的控件。
谢谢,有请高手了。
 
用rxdbrichedit吧
 
怎么转题了!应另开题,省分了。
好想问题没说清楚。
 
OnExit 应该是你想要的:)
 
To linsb,
一来分不多了,二来这个问题没办法说清楚。三来我看了你的流的代码后,想到也能解决这个问题。
>>这个问题不讨论了。用流存,再用RichEdit读流就完事了。
如果你关于三个字符的问题有其它想法的话,但说无妨,有理就有分。
反正BBS就是为了讨论问题的。
不过,最好,还是帮我解决现在的问题,BBS也是用来解决问题的。
感谢你的帮助。
 
我没弄清你的问题,能再说细致一点吗?
 
To Linsb,
你仔细看看前面的内容。
 
哎呀!又转了。
>>光标前的符数
是什么意思?
 
没有正确回答我不转干吗?你以为我的分是抢来的?
>>光标前的符数,
好像你在richedit中输入了'123456789',光标放在5和6之间,求12345总共有几个字符。
是做搜索用的。系统的搜索不好看,想做个好些的,好像光标放在一个位置后,搜索时,得从这
个开始位置读字符。
看得出,这个100分你能拿到了。其实,我已从葵花宝典中发现点什么了,过一会儿去试试,
如果在我没有销号之前你答出来了,当然给你分。你知道,我给分可是又快又足的。
 
var

LineNum:longint;

CharsBeforeLine:longint;

begin

LineNum := SendMessage(RichEdit1.Handle,EM_LINEFROMCHAR,

            RichEdit1.SelStart,0);

CharsBeforeLine:=SendMessage(RichEdit1.Handle,EM_LINEINDEX,

            LineNum,0);


Label1.Caption:='Position: '+IntToStr((RichEdit1.SelStart -

                 CharsBeforeLine)+1);

end;



 
刁么啊,高高手啊你。
 
后退
顶部