关于RICHEDIT的一个问题,急!~~高手快来帮我看看啊!~ 如何取得RICHEDIT中当前行的坐标或高度!因为我有一个控件想随RICHEDIT中的行联动!先谢谢了!~~~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //显示当前光标的位置(richedit中)var CharPos: TPoint; i:integer;begin i:=pagecontrol1.ActivePageIndex; CharPos.Y := SendMessage(richedits[i].Handle, EM_EXLINEFROMCHAR, 0, richedits[i].SelStart); CharPos.X := (richedits[i].SelStart - SendMessage(richedits[i].Handle, EM_LINEINDEX, CharPos.Y, 0)); Inc(CharPos.Y); Inc(CharPos.X); stbStatusBar.Panels[1].Text := Format(sColRowInfo, [CharPos.Y, CharPos.X]);end; {先在Form上放置三个Label组件,并在程序代码的前面声明下面这三个变量为整型数,即: VarLpos,Cpos,Linelength:integer; 其中Lpos是行的值(按照Memo的规定,第一行为0),Cpos是字符的位置,LineLength是当前行的字符总个数。 然后,再将下面的七行程序代码分别加入Memo1的OnMouseDown和OnKeyDown的事件代码处即可。 Lops:=SendMessage(memol.Handle,EM_LINEFROMCHAR,Memol.SelStart,0); Cpos:=SendMessage(memo1.Handle,EM_LINEINDEX,Lpos,0); LineLength:=SendMessage(memol.handle,EM_LINELENGTH,Cpos,0); Cpos:=Memol.SelStart-CPos; Labell.caption:=inttostr(lpos); Label2.caption:=inttostr(cpos); Label3.caption:=inttostr(linelength); 这样,执行程序后,随着在Memo组件中的编辑操作,Label1、Label2和Label3就将显示出相对应的当前行值、字符位置与当前行的字符总个数了。} 楼上那位仁兄可能是我没有表达清楚,我的意思是LABLE随着RICHEDIT的行的改变然后指向当前的行!我的LABLE只是起一起标识作用,并不用显示什么! ADO + SQL Server数据库的数据存取问题.在线等... 请问做系统设计时,软件界面部分大家都用什么软件做的? 菜鸟提问——如何通过DELPHI修改在SQL中建立的数据库的个种属性 大家好,帮我解决下这个问题! 我要编一个进销存软件,希望给点建议! 请高手讲讲:虚类、虚方法、虚方法表、接口; Public、Private、 published 急救!!! 师兄们帮帮我可以吗。一个简单的问题。但我从没有做过。 怎样在For循环的SQL查询中用热键退出! sdk函数的引用 关于转换图标的问题~~~~高分寻求16像图片 我遇到一个很奇怪的现象,请高手解答?(在线等待!!!)
//显示当前光标的位置(richedit中)
var
CharPos: TPoint;
i:integer;
begin
i:=pagecontrol1.ActivePageIndex;
CharPos.Y := SendMessage(richedits[i].Handle, EM_EXLINEFROMCHAR, 0,
richedits[i].SelStart);
CharPos.X := (richedits[i].SelStart -
SendMessage(richedits[i].Handle, EM_LINEINDEX, CharPos.Y, 0));
Inc(CharPos.Y);
Inc(CharPos.X);
stbStatusBar.Panels[1].Text := Format(sColRowInfo, [CharPos.Y, CharPos.X]);
end;
VarLpos,Cpos,Linelength:integer; 其中Lpos是行的值(按照Memo的规定,第一行为0),Cpos是字符的位置,LineLength是当前行的字符总个数。 然后,再将下面的七行程序代码分别加入Memo1的OnMouseDown和OnKeyDown的事件代码处即可。 Lops:=SendMessage(memol.Handle,EM_LINEFROMCHAR,Memol.SelStart,0);
Cpos:=SendMessage(memo1.Handle,EM_LINEINDEX,Lpos,0);
LineLength:=SendMessage(memol.handle,EM_LINELENGTH,Cpos,0);
Cpos:=Memol.SelStart-CPos;
Labell.caption:=inttostr(lpos);
Label2.caption:=inttostr(cpos);
Label3.caption:=inttostr(linelength); 这样,执行程序后,随着在Memo组件中的编辑操作,Label1、Label2和Label3就将显示出相对应的当前行值、字符位置与当前行的字符总个数了。
}