利用scintilla实现高级编辑器
来源:互联网 发布:ps软件错误16 编辑:程序博客网 时间:2024/06/04 18:14
scintilla是一款开源的编辑器组件,在windows上以动态库存在,目前在notepad++,codeblock都是用该组件完成大部分编辑功能。网上绝大部分是用c++builder来调用scintilla来实现高级编辑功能,这里我以vc6来实现。
用vc6新建一个单文档工程。我们改写View 类,使view成为scintilla class的一个实例,
首先,不要忘了在app的InitInstance函数中添加如下代码:
LoadLibrary("SciLexer.dll");
然后在view类中的PreCreateWindow把class名称改为scintilla,代码如下:
BOOL CSciEditView::PreCreateWindow(CREATESTRUCT& cs){// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT cscs.lpszClass = "scintilla";return CView::PreCreateWindow(cs);}
最后重要的一步是必须处理view的WM_PAINT消息,让其执行默认动作,在classwizard中为CSciEditView添加WM_PAINT消息处理:
在void CSciEditView::OnPaint()添加如下代码:
void CSciEditView::OnPaint() {Default();}
为了看看效果我们在OnCreate函数给scintilla添加一些文字:
int CSciEditView::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (CView::OnCreate(lpCreateStruct) == -1)return -1;// TODO: Add your specialized creation code hereSendMessage(SCI_APPENDTEXT,7,(LPARAM)"Hellow!");return 0;}
最后运行,看看效果:
成功了!
- 利用scintilla实现高级编辑器
- 利用scintilla实现高级编辑器
- Scintilla的高级技法
- Scintilla的高级技法
- vc win32 Scintilla编辑器
- Scintilla
- Scintilla开源库使用指南(编辑器篇)(一)
- Scintilla开源库使用指南(编辑器篇)(二)
- Scintilla使用(编辑器篇)(1) - 简介
- 免费开源的scintilla编辑器控件
- 利用栈实现一个编辑器
- Scintilla使用(编辑器篇)(2) - 全文检索和修改
- Scintilla使用(编辑器篇)(3) - 搜索和替换
- Scintilla开源库使用指南(编辑器篇) 在C++Builder 环境下
- 强大的高亮显示编辑器——Scintilla
- php利用堆栈 实现高级计算器
- 利用 javascript 实现富文本编辑器
- 利用 JavaScript 实现富文本编辑器
- poj 1700 Crossing Rive(贪心)
- IE不显示JPG图片
- 常见并发服务器方案
- 字符串与字符数组
- 修改Tomcat端口号
- 利用scintilla实现高级编辑器
- Effective C++学习-条款
- 统计数字问题算法
- 如何把FLAC+CUE刻录成CD
- 解决VC++6.0启动_【打开文件】_对话框时出现的“0x5003eaed”问题!!!
- ==与equals方法
- html 日记本
- android整合--UI基本控件Button,ImageButton,EditText,ChcekBox,ToggleButton,RadioButton
- 彻底理解指针第三篇