在scintilla控件中设置lua基本功能的高亮颜色

时间:2012-06-19 00:20:12

标签: lua scintilla scilexer.dll

我在基于MFC对话框的app中使用了scintilla编辑控件。

我加载scilexer.dll,并将lexer设置为lua,但唯一突出的是注释。我也可以设置关键字并突出显示:

mySciCtrl.SendMessage(SCI_SETKEYWORDS, 0, "for while end function")

但是,我无法弄清楚如何启用高亮显示lua基本功能,例如printsetmetatable等。

我认为这将是自动的,就像评论突出显示一样。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:3)

发现它,当然只需要看看scintilla功能就很简单了。所以,如果有其他人遇到这个:

在你的scintilla窗口类

中,使用SendMessage(SCI_STYLESETFORE, SCE_LUA_WORD2, RGB(100,149,237));为第二个关键字列表初始化颜色。

然后在对话框中执行m_ScinCtrl.SendMessage( SCI_SETKEYWORDS, 1, ( long )_T( "the words you want highlighted with the above specified color"));

SCE_LUA_WORD2对应于第二个语句中的整数值1,因此如果您希望第三组关键字以不同方式突出显示,请在第二个语句中使用SCE_LUA_WORD3和整数值2!