改变RichEdit的游标位置

2016-02-19 18:36 9 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的改变RichEdit的游标位置教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

Delphi // 指定输入游标的位置 procedure SetCaret(RTF: TRichEdit; var Row, Col: Word); var i, iStopLine, iSelStart: integer; begin if (RTF = nil) then Exit; if Row = 0 then Row := 1; !-- frame contents -- !-- /frame contents -- if Col = 0 then Col := 1;// 到第 Row 列, Col 行共几个字元 iStopLine := Row - 1; iSelStart := 0; for i := 0 to RTF.Lines.Count - 1 do begin if i = iStopLine then begin if Length(RTF.Lines[i]) $#@62;= Col then Inc(iSelStart, Col) else Inc(iSelStart, Length(RTF.Lines[i]) + 2); Break; end; Inc(iSelStart, Length(RTF.Lines[i]) + 2); end; if iSelStart $#@62; 0 then Dec(iSelStart);// 以设定标记的方式指定游标位置 SendMessage(RTF.Handle, EM_SETSEL, iSelStart, iSelStart);// 再次侦测游标位置 Row := SendMessage(RTF.Handle, EM_LINEFROMCHAR, RTF.SelStart, 0); Col := RTF.SelStart - SendMessage(RTF.Handle, EM_LINEINDEX, Row, 0);// 卷到游标所在位置 SendMessage(RTF.Handle, EM_SCROLLCARET, 0, 0); end; procedure TForm1.Button1Click(Sender: TObject); var iRow, iCol: word; begin iRow := 17; iCol := 3; SetCaret(RichEdit1, iRow, iCol); RichEdit1.SetFocus; end;

来源:http://www.tulaoshi.com/n/20160219/1618273.html

延伸阅读
标签: 电脑入门
在桌面中,经常会出现各类通知信息,提醒我们关注一些信息,和电脑的运行情况。在Win10中,所有类型的通知信息均以通知横幅的形式出现。默认情况下,它们会出现在屏幕的右上角。这样的话,就会妨碍我们的一些操作。下面就来看看,如何将通知信息的出现位置从顶部挪动到右下方底部,首先给大家展示一张修改后的效果图。 下面再来看看具体的...
RichEdit有一个FindText函数,极大方便了我们为RichEdit编制查找功能。下面的片断取自于Delphi帮助中的范例。 C++ Builder 请参照Delphi的例子 Delphi procedure TMainForm.FindDialogFind(Sender: TObject); !-- frame contents -- !-- /frame contents -- var ...
首先在Form上放置一个RichEdit。 在窗体的构造函数中添加以下代码: __fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner) { unsigned mask = SendMessage(RichEdit1-Handle, EM_GETEVENTMASK, 0, 0); SendMessage(RichEdit1-Handle, EM_SETEVENTMASK, 0, mask | ENM_LINK); SendMessage(Ri...
问题1:RichEditCtrl在用DDX进行数据交换的时候会发生数据丢失问题?为什么! 当我们在拖了一个控件到程序里后,通常的做发是Ctrl+W,用类向导给控件关联一个变量,然后依靠DDX/DDV进行数据交换,假如我们用同样的方法来给RICHEDIT关联一个CString类型的变量就会存在一个问题,就是假如我们的数据大于了64K,数据就会丢失。 通过查MSDN发现...
游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中。 定义游标 游标作为一种数据类型,首先必须进行定义,其语法如下。 cursor 游标名 is select 语句; c...

经验教程

144

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部