我在基于MFC对话框的app中使用了scintilla编辑控件。
我加载scilexer.dll,并将lexer设置为lua,但唯一突出的是注释。我也可以设置关键字并突出显示:
mySciCtrl.SendMessage(SCI_SETKEYWORDS, 0, "for while end function")
但是,我无法弄清楚如何启用高亮显示lua基本功能,例如print
,setmetatable
等。
我认为这将是自动的,就像评论突出显示一样。有人能指出我正确的方向吗?
答案 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!