3

我在基于 MFC 对话框的应用程序中使用 scintilla 编辑控件。

我加载了 scilexer.dll,并将词法分析器设置为 lua,但唯一突出显示的是注释。我还可以设置关键字,它们会突出显示:

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

但是,我不知道如何启用 lua 基本功能(如printsetmetatable等)的突出显示。

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

4

1 回答 1

3

找到了,当然只需要看看闪烁函数就可以了。因此,如果其他人遇到这种情况:

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!

于 2012-06-19T14:39:26.773 回答