社区
Delphi
帖子详情
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号?
jsmicrofox
2003-03-10 04:52:44
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号?
多谢!
...全文
322
5
打赏
收藏
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号?
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号? 多谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
frogshero
2003-03-10
打赏
举报
回复
用memo也可以《D5开发人员指南》里有,要子类化
xzgyb
2003-03-10
打赏
举报
回复
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMainForm = class(TForm)
Memo1: TMemo;
Label1: TLabel;
procedure Memo1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
procedure TMainForm.Memo1Click(Sender: TObject);
var
CurLine: Integer;
LineCharIndex: Integer;
begin
LineCharIndex := SendMessage(Memo1.Handle, EM_LINEINDEX, -1, 0);
CurLine := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, LineCharIndex, 0);
Memo1.SelStart := LineCharIndex;
Memo1.SelLength := SendMessage(Memo1.Handle, EM_LINELENGTH, LineCharIndex, 0);
Label1.Caption := IntToStr(CurLine);
end;
end.
jsmicrofox
2003-03-10
打赏
举报
回复
listbox怎么用?
leaf_zhy
2003-03-10
打赏
举报
回复
为什么不用ListBox
sysu
2003-03-10
打赏
举报
回复
取得行、列号,高亮的话要用TRichEdit。
var
row, col: Integer;
begin
row := SendMessage(memo1.Handle, EM_LINEFROMCHAR,
memo1.SelStart, 0);
col := memo1.SelStart -
SendMessage(memo1.Handle, EM_LINEINDEX, row, 0);
Inc(row); // 行号
Inc(col); // 列号
ShowMessage(Format('%d 行 %d列',[row, col]));
end;
用RichEdit设置高亮:
procedure TForm1.Button1Click(Sender: TObject);
var
row, i, cnt: Integer;
begin
// 取得当前行号
row := SendMessage(RichEdit1.Handle, EM_LINEFROMCHAR,
RichEdit1.SelStart, 0);
cnt := 0;
for i := 0 to row-1 do cnt := cnt + Length(RichEdit1.Lines[i])+2;
RichEdit1.SelStart := cnt;
RichEdit1.SelLength := Length(RichEdit1.Lines[row]);
RichEdit1.SelAttributes.Color := clRed; // 设为红色
end;
delphi中memo实现
高亮
文字
在某些应用场景中,比如代码编辑器或者文本
高亮
显示
,我们可能需要实现特定关键字的
高亮
功能。本篇文章将详细讲解如何在Delphi的Memo组件中实现文字颜色设定和关键词
高亮
显示
。 首先,我们需要了解Memo组件的基础...
源碼任務心得分享
同时,`EM_LINEINDEX`和`EM_SETSEL`消息组合使用,可以精准地选择一
行
内的特定文本区间,这对于实现
高亮
显示
、搜索定位等功能非常有帮助。 ### 源码解析:数据库操作 #### 4. 数据库别名创建与使用 代码片段中提到...
利用Windows消息获取Memo的
行
和列.rar_DELPHI 消息_delphi memo_memo
这个实例展示了如何通过处理Windows消息来获取Memo组件中
光标
所在的
行
和列,这对于实现更复杂的功能,如文本编辑器或代码编辑器的
高亮
显示
,是非常有帮助的。同时,这也加深了对Windows消息机制的理解。在实际开发中...
delphi 设计的一个简单的文本编辑器
- **
行
号
显示
**:
显示
每一
行
的编号,便于定位和调试代码。 - **多文档接口(MDI)**:支持同时打开多个文件,可以使用TForm或TMDIFrame/TMDIChild控件来实现。 4. **界面设计** - 用户友好的界面至关重要,包括...
模仿WindowsXp记事本
此外,为了提供与原版记事本类似的用户体验,我们还需要考虑一些细节,比如文本的自动换
行
、
高亮
当前
行
、撤销/重做功能等。这些可以通过对
TMemo
的内部操作和自定义画布绘图来实现。 最后,不要忘记对程序进
行
适当的...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章