📄 001.htm
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI专题--控件应用-->DELPHI中MEMO组件的光标定位</TITLE>
<META NAME="keywords" CONTENT=" DELPHI专题--控件应用 DELPHI中MEMO组件的光标定位">
<META NAME="description" CONTENT=" - DELPHI专题--控件应用 - DELPHI中MEMO组件的光标定位">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<a href="index.html">返回</a>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">DELPHI中MEMO组件的光标定位</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p class="tt2">作为一个与VisualBasic相类似,但功能更强大的可视化程序开发工具,Delphi同样提供了大量的简单便捷的控制组件,通过这些组件,程序设计者可以设计出规范美观的界面。并且规范化使用者的输入内容。其中,Delphi提供的编辑组件中的Memo组件的功能是非常丰富的。它可以完成对文字的编辑、修改、文件的调入和存储文件等功能,但是与一般的字处理软件相比,它并未提供编辑时对光标位置、所在行及所在列的信息,这不能说不是一个缺憾。其实,通过很简单的几行程序就可以实现这一要求:<br>
先在Form上放置三个Label组件,并在程序代码的前面声明下面这三个变量为整型数,即:<br>
VarLpos,Cpos,Linelength:integer;<br>
其中Lpos是行的值(按照Memo的规定,第一行为0),Cpos是字符的位置,LineLength是当前行的字符总个数。<br>
然后,再将下面的七行程序代码分别加入Memo1的OnMouseDown和OnKeyDown的事件代码处即可。<br>
Lops:=SendMessage(memol.Handle,EM—LINEFROMCHAR,Memol.SelStart,0);<br>
Cpos:=SendMessage(meno1.Handle,EM—LINEINDEX,Lpos,0);<br>
LineLength:=SendMessage(memol.handle,EM—LINELENGTH,Cpos,0);<br>
Cpos:=Memol.SelStart-CPos;<br>
Labell.caption:=inttostr(lpos);<br>
Label2.caption:=inttostr(cpos);<br>
Label3.caption:=inttostr(linelength);<br>
这样,执行程序后,随着在Memo组件中的编辑操作,Label1、Label2和Label3就将显示出相对应的当前行值、字符位置与当前行的字符总个数了。
</p>
<hr color="#EE9B73" size="1" width="94%">
</TD>
</TR>
</table>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -