Scintilla笔记(2)

本文介绍了如何使用Scintilla实现语法高亮。主要包括选择语法解析器,如使用SCI_SETLEXER或SCI_SETLEXERLANGUAGE命令设置为C++语法;设置关键字,通过SCI_SETKEYWORDS命令指定关键字并进行细致的区分;以及设定文本元素的字体风格,包括字体、颜色、大小等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scintilla笔记(2)
Scintilla支持语法高亮
要支持语法高亮,分为三个步骤:
一、选定语法解析器
语法解析器用于把代码分为一个个单词(token),另外,还用于代码折叠控制等。
Scintilla作为源码编辑器支持非常多的语言,如C/C++、Java、SQL、HTML、Structured Text(ST)等等。

//Setup the Lexer,非常重要,否则会影响折叠,高亮等等功能。
    std::string st_keywords = ui_st_driver::GetStLanguageKeywordStr();
    m_ScintillaEdit.SetLexer(SCLEX_CPP); //设置语言,此处设置为C++语言
    m_ScintillaEdit.SetKeyWords(0, U8ToU16(st_keywords).c_str());//设置Scintilla的语言关键字

除了使用SCI_SETLEXER外,还可以使用SCI_SETLEXERLANGUAGE命令,如:
m_ScintillaEdit.SetLexerLanguage("cpp");
接受一个字符串参数,这个字符串定义于代码解析
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值