主题:如何获得文本得行号
vim
[专家分:1170] 发布于 2006-04-11 21:03:00
本人现在做着一个文本编辑器,但发现richedit这个控件没有提高返回光标所在行这个功能,请问各位高手有什么办法能实现这一功能呢??
回复列表 (共2个回复)
沙发
chenying6981 [专家分:60] 发布于 2006-04-12 01:17:00
每次readln是inc(n)不行吗?
定位到这一行时,就循环一下,我是这么做的,呵呵
板凳
aizaixiiii [专家分:2130] 发布于 2006-04-12 13:20:00
{动态显示MEMO中的光标所在位置} //Edit
procedure TForm1.UpdateCursorPos;
var
CharPos: TPoint;
begin
//CharPos.Y := SendMessage(mmSnd.Handle, EM_EXLINEFROMCHAR, 0,mmSnd.SelStart);
CharPos.Y := SendMessage(mmSnd.Handle,EM_LINEFROMCHAR ,mmSnd.SelStart,0);
CharPos.X := (mmSnd.SelStart -
SendMessage(mmSnd.Handle, EM_LINEINDEX, CharPos.Y, 0));
Inc(CharPos.Y);
Inc(CharPos.X);
StatusBar1.Panels[0].Text := Format('行: %4d 横: %3d 总: %3d', [CharPos.Y, CharPos.X,CharPos.Y * (CharPos.X-1)]);
end;
这是我以前用的,MEMO控件的。希望对你能有帮助:)
我来回复