首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Scintilla控件在Win32环境上的使用(二)

2012-09-23 
Scintilla控件在Win32环境下的使用(二)这节的目标就是写出语法高亮,代码折叠这两个效果。还是首先给大家发

Scintilla控件在Win32环境下的使用(二)

这节的目标就是写出语法高亮,代码折叠这两个效果。

还是首先给大家发个效果图看一下:

Scintilla控件在Win32环境上的使用(二)

主要参考文档:

http://www.cnblogs.com/superanyi/archive/2011/04/07/2008632.html

http://www.cnblogs.com/superanyi/archive/2011/04/07/2008636.html

当然官方文档是必不可少的。

其实有了第一节的工作,如果你玩过vim,那么接下来的工作有点类似于配置.vimrc文件了。

只不过比配置vimrc文件麻烦的是我们要自己确定发送消息的时机。


让Scintilla支持语法高亮

有了前面的SendEditor控制函数,我们就可以配置语法高亮了,下面这段代码可以使我们的Scintilla控件显示C++语法高亮代码:

      #define MARGIN_FOLD_INDEX 2                    if(lpnmhdr->hwndFrom==hwndScintilla){switch(lpnmhdr->code){case SCN_MARGINCLICK:if (notify->margin == MARGIN_FOLD_INDEX){line_number = SendEditor(ptr,SCI_LINEFROMPOSITION,notify->position,0);SendEditor(ptr,SCI_TOGGLEFOLD, line_number,0);}break;}}
好啦。这样一来我们就实现了代码高亮和代码折叠这两个功能了。

如果想继续深入学习更多scintilla的功能的话,就只能啃读官方文档了。

热点排行