社区
Delphi
帖子详情
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号?
jsmicrofox
2003-03-10 04:52:44
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号?
多谢!
...全文
292
5
打赏
收藏
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号?
如何使TMEMO的光标所在行显示高亮并能得到此被选行的行号? 多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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中RichEdit获得得知当前
行
号
ApplicationMessageBox(PChar(′当前
行
号
是′+IntToStr(CurrentLine)),′消息′,mb_iconinformation);先在窗口中布置一个RichEdit或者memo(命名为editor),以及一个button。用RichEdit(或者memo)控件制作文本编辑器时,通过访问lines count属性可以
得到
总
行
。数,但是若想知道
光标
当前所在
行
的
行
号
就麻烦了,因为delphi没有提供这个属性。需要注意的是,第一
行
的
行
号
为零。事件中写入下列代码。
DBGrid 应用全书
在 Delphi 语言的数据库编程中,DBGrid 是
显示
数据的主要手段之一。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变 DBGrid 的表头、网格、网格线的前景色和背景色,以及相关的字体的大小和风格。 以下的示例程序演示了对 DBGrid 各属性的设置,使 Delphi
显示
...
DBGrid 各属性的设置
在 Delphi 语言的数据库编程中,DBGrid 是
显示
数据的主要手段之一。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变 DBGrid 的表头、网格、网格线的前景色和背景色,以及相关的字体的大小和风格。 以下的示例程序演示了对 DBGrid 各属性的设置,使 Delphi
显示
的
delphi完美经典--第十一、十二章
第11章 TApplication与TScreen类介绍及应用 一、TApplication类 用于开发窗口程序的类。此类封装了一个窗口应用程序,其方法和属性反映了窗口操作系统在建立、执
行
、维持以及析构该程序等方面的基本原则。 Delphi的每个窗口程序都会自动声明一个Application对象,此变量属于Tapplication类。 TApplicat
DBGridEh大全
查看完全版本:dbgrid应用全书论坛跳转到...╋名狐堂├名狐介绍├名狐讲座╋技术论坛├VFP 论坛├DELPHI├CGI、ASP、JAVA论坛├LINUX 论坛├dot NET论坛├其它语言C,C++,PB,VB╋专题技术├VFP + SQL Server├类的应用、VFP调用API├企业管理与软件╋情感论坛├情感
Delphi
5,531
社区成员
262,736
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章