本文整理自网络,侵删。
delphi自带的memo显示sql语句看的太累人了,今天决定美化一下。最起码要有“语法着色”、“显示行号”这2个功能。
意外发现了 SynEdit 控件。 https://github.com/SynEdit/SynEdit
SynEdit是一个免费的文字编辑器,支持37种程序语言语法高亮度显示,可以一次编辑多个文件
SynEdit 支持语法高亮、word-wrap、代码自动完成、模版组件、导出到 html 等格式的功能。
SynEdit 是一个纯 VCL/CLX 控件,无须任何其他运行库支持,著名的 HeidiSQL 数据库管理工具就是使用该控件开发的SQL编辑器。
二、安装1、用delphi xe10.3打开 SynEdit-DelphiXE10.3\Packages\DelphiXE10.3.groupproj
然后,编译、install (和其他控件安装是一样的步骤,比如fastreport)
2、添加 SynEdit-DelphiXE10.3\Packages\Win32\Release 到delphi的32位环境变量library path,
添加 SynEdit-DelphiXE10.3\Packages\Win64\Release 到delphi的64位环境变量的library path
3、安装成功后,控件区域会显示
三、使用1、添加2个控件到窗体:
TSynMemo和TSynSQLSyn 两个控件
2、关联TSynMemo的Highlighter属性为TSynSQLSyn控件
3、设置行号 synm1.Gutter.ShowLineNumbers := true;
4、设置sql语法高亮的颜色
synsqlsyn2.CommentAttri.Foreground := clGreen;synsqlsyn2.DelimitedIdentifierAttri.Foreground :=clBlue;synsqlsyn2.FunctionAttri.Foreground :=clFuchsia;synsqlsyn2.KeyAttri.Foreground := clBlue;synsqlsyn2.StringAttri.Foreground:= clRed;效果图
相关阅读 >>
Delphi中sendmessage给一个edit控件发送wm_settext消息
更多相关阅读请进入《Delphi》频道 >>