Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15481896
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类:

2010-01-30 11:41:29

如果TMemo控件的Name为memo的话:  
  memo.SelText为当前选取的文本内容;  
  memo.CaretPos.x;     memo.CaretPos.y为当前的行与列。


这是因为是这样的,在你回车的时候,你实质上给当前行增加了一个回车符,  
  光标移动到了下一行,但没有插入任何值,所以这一行不是一line,  
  可以这样解决  
   
  procedure   TForm1.Memo1KeyUp(Sender:   TObject;   var   Key:   Word;  
      Shift:   TShiftState);  
  var  
      CurrentLine,i:   Integer;  
  begin  
      //获取当前行号   注意,第一行为0,第二行为1  
      CurrentLine   :=memo1.Perform(em_LineFromChar,CurrentLine,0);  
      //CurrentLine+1为实际行号,以下判断  
      if     (CurrentLine+1)>Memo1.Lines.Count   then  
          i:=CurrentLine+1  
      else  
          i:=Memo1.Lines.Count;  
      Label1.Caption:=IntToStr(i);  
  end;  
   
阅读(4986) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~