工作中需要做一个脚本编辑器的工具,用于代码补全、语法高亮、错误提示等功能,可以直接使用开源控件Scintilla,
网上有一些MFC的多文档使用Scintilla的例子,项目中使用的是对话框,自己实现了一遍,记录一下。
具体过程和上一篇中的win32中使用Scintilla基本一样,主要要注意的是:对话框需要添加OnNotify()函数,在里面处理消息。
BOOL CMFCApplication2Dlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { // TODO: 在此添加专用代码和/或调用基类 struct SCNotification* scn = (struct SCNotification*)lParam; LPNMHDR pnmh = (LPNMHDR)lParam; switch(pnmh->code) { case SCN_CHARADDED: { m_scintillaView.UpdateFunctionsTips(lParam);//函数提示 } //... .... }
阿里云下载地址:https://www.aliyundrive.com/s/439ir95avjG