我正在使用一个基于MFC对话框的应用程序中的scintilla编辑控件。
我加载了scilexer.dll,并将lexer设置为lua,但唯一突出显示的是注释。我也可以设置关键字,它们会被高亮显示:
mySciCtrl.SendMessage(SCI_SETKEYWORDS, 0, "for while end function")但是,我想不出如何实现像print、setmetatable等lua基本功能的高亮显示。
我认为这将是自动的,就像评论突出显示一样。有谁能给我指个方向吗?
发布于 2012-06-19 22:39:27
找到它,这是相当微不足道的,当然只需要看看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!
https://stackoverflow.com/questions/11092843
复制相似问题