还是memo行号的问题(修改后出了问题)(50分)

W

weihang

Unregistered / Unconfirmed
GUEST, unregistred user!
Memo1.Perform(em_LineFromChar, -1, 0);
SendMessage(memo.Handle,EM_LINEFROMCHAR,RichEdit1.Selstart,0));
这两种方法可以获得行号,但如果程序如下:
memo1.Lines.strings[3]:='dfhsdoi';
showmessage(inttostr(Memo1.Perform(em_LineFromChar, -1, 0)));
showmessage(inttostr(SendMessage(memo1.handle, EM_LINEFROMCHAR, -1, 0 )));
但是总只能获得那个修改了的行的行号.
 
memo1.Lines.strings[3]:='dfhsdoi' 之后当前行移到了3,再em_LineFromChar, -1就得到3
很合理啊
 
我也试过了, pipi说的没错
 
可是我需要的是光标所在的行号.
问题在于我需要用程序修改某些行,然而还要获得光标当前的行号.
我知道可以先获得行号再修改就可以解决,
然而我要是非想这样写呢?对不起,有点钻牛角尖.
也就是说,其实这两个函数返回的不是光标所在行号,而是激活的行号.
我想问一下那么有没有一个函数真正是获得光标所在处行号的.
还有,怎么让光标跟着自己的修改也移动呢?
 
接受答案了.
 
顶部