RT
解决方案 »
- 一个关于控制打印机直接打印的问题...大家帮忙看看...
- 简单问题不知道怎么做
- 关于dbchart中巨难问题
- ::[:)][:)]请高手帮忙,怎么在dbgrid中锁定某几行不允许编辑,已经提出多次仍然没有完美的解决方法!!!
- API拦截的简单问题!大家都近来鄙视鄙视!
- 我只设置时间,不设置日期,用什么控件好???怎么使用???
- bear_c() 和liuhelin(鹤林)还有phy(我希望我是高手,却怎么学都是菜鸟。) 来领分。
- 出现'stack overflow'的错误怎么解决?
- 出售DVD视频点播系统,包含源代码
- 高分征集各级绝世delphi好书!
- 为什么执行Adoquery的true,false判断出错!
- 下面的触发器有什么问题??在线.........谢谢!
VarLpos,Cpos,Linelength:integer;
其中Lpos是行的值(按照Memo的规定,第一行为0),Cpos是字符的位置,LineLength是当前行的字符总个数。
然后,再将下面的七行程序代码分别加入Memo1的OnMouseDown和OnKeyDown的事件代码处即可。
Lops:=SendMessage(memol.Handle,EM—LINEFROMCHAR,Memol.SelStart,0);
Cpos:=SendMessage(meno1.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就将显示出相对应的当前行值、字符位置与当前行的字符总个数了。
var
SaveDialog : TSaveDialog;
begin
saveDialog := TSaveDialog.Create(Nil);
SaveDialog.Fitle := 'Memo内容|*.Doc';
if SaveDialog.Execute then
Memo1.Lines.SaveToFileName(SaveDialog.FileName);
end;
如memo.lines.count=20
edit.text=10
将光标定位到 memo的第十行