我在基于 MFC 对话框的应用程序中使用闪烁编辑控件。
我加载了scilexer.dll,并将词法分析器设置为lua,但唯一突出显示的是注释。我还可以设置关键字,它们会突出显示:
mySciCtrl.SendMessage(SCI_SETKEYWORDS, 0, "for while end function")
但是,我不知道如何突出显示lua的基本功能,如print
,setmetatable
等。
我认为这将是自动的,就像突出显示的评论一样。谁能指出我正确的方向?
找到了,当然只需要看看闪烁函数就很简单了。因此,如果其他人遇到这种情况:
在 Sintilla 窗口类中,通过使用 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!