我在基于 MFC 对话框应用程序中使用 Scintilla 编辑控件。
我加载了 scilexer.dll,并将词法分析器设置为 lua,但是只有注释被高亮显示。我也可以设置关键字,它们会被高亮显示:
mySciCtrl.SendMessage(SCI_SETKEYWORDS, 0, "for while end function") 然而,我不知道如何启用诸如 print、setmetatable 等 lua 基本函数的高亮显示。 我认为这应该与注释的高亮显示一样自动进行。有人能指点我一下吗?
然而,我不知道如何启用诸如 print、setmetatable 等 lua 基本函数的高亮显示。
print
setmetatable
我认为这应该与注释的高亮显示一样自动进行。有人能指点我一下吗?
原文链接 https://stackoverflow.com/questions/11092843
点赞 stackoverflow用户1452276 找到了,当然很简单,只需要查看 scintilla 函数即可。因此,如果其他人也遇到这个问题: 在你的 scintilla 窗口类中初始化颜色,使用 SendMessage(SCI_STYLESETFORE, SCE_LUA_WORD2, RGB(100,149,237)); 来设置第二个关键词列表的颜色。 然后,在你的对话框中使用 m_ScinCtrl.SendMessage( SCI_SETKEYWORDS, 1, ( long )_T( "要用上述指定颜色突出显示的单词")); 。 SCE_LUA_WORD2 在第二个语句中对应整数值 1,如果你想用不同的颜色突出显示第三个关键词集,只需使用 SCE_LUA_WORD3 和整数值 2 在第二个语句中即可! 2012-06-19 14:39:26 评论区的留言会收到邮件通知哦~ 作者: stackoverflow用户1452276
找到了,当然很简单,只需要查看 scintilla 函数即可。因此,如果其他人也遇到这个问题:
在你的 scintilla 窗口类中初始化颜色,使用 SendMessage(SCI_STYLESETFORE, SCE_LUA_WORD2, RGB(100,149,237)); 来设置第二个关键词列表的颜色。
SendMessage(SCI_STYLESETFORE, SCE_LUA_WORD2, RGB(100,149,237));
然后,在你的对话框中使用 m_ScinCtrl.SendMessage( SCI_SETKEYWORDS, 1, ( long )_T( "要用上述指定颜色突出显示的单词")); 。
m_ScinCtrl.SendMessage( SCI_SETKEYWORDS, 1, ( long )_T( "要用上述指定颜色突出显示的单词"));
SCE_LUA_WORD2 在第二个语句中对应整数值 1,如果你想用不同的颜色突出显示第三个关键词集,只需使用 SCE_LUA_WORD3 和整数值 2 在第二个语句中即可!
SCE_LUA_WORD2
SCE_LUA_WORD3
作者:
stackoverflow用户1452276
找到了,当然很简单,只需要查看 scintilla 函数即可。因此,如果其他人也遇到这个问题:
在你的 scintilla 窗口类中初始化颜色,使用
SendMessage(SCI_STYLESETFORE, SCE_LUA_WORD2, RGB(100,149,237));
来设置第二个关键词列表的颜色。然后,在你的对话框中使用
m_ScinCtrl.SendMessage( SCI_SETKEYWORDS, 1, ( long )_T( "要用上述指定颜色突出显示的单词"));
。SCE_LUA_WORD2
在第二个语句中对应整数值 1,如果你想用不同的颜色突出显示第三个关键词集,只需使用SCE_LUA_WORD3
和整数值 2 在第二个语句中即可!