本文主要是介绍获得Richedit的行与列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
方法一:
在Richedit的onselectchange事件中加入:
var row,col:integer;
begin
with richedit1 do
begin
//获得选区开始处的行号
row:=sendmessage(handle,EM_linefromchar,selectstart,0);
//获得列号
col:=selstart-sendmessage(handle,EM_lineindex,row,0);
statusbar1.panels[0].text:=format(('%D行 %D列'),[row,col]);
end;
方法二:
var
LineNum:longint;
CharsBeforeLine:longint;
begin
LineNum := SendMessage(Memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);
CharsBeforeLine:=SendMessage(Memo1.Handle,EM_LINEINDEX,LineNum,0);
edit2.Text:=(inttostr(linenum+1)+'行'+IntToStr((Memo1.SelStart -CharsBeforeLine)+1)+'列');
end;
这篇关于获得Richedit的行与列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!