VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 787|回复: 11

[已解决]求一个实现思路,不需要具体代码

[复制链接]
96_avatar_middle
最佳答案
0 
在线会员 发表于 2019-12-3 15:26:48 | 显示全部楼层 |阅读模式
就是 做一个小的 编辑器,实现 类似 IDE 的某些功能,比如:
1:实现关键字高亮 彩色字体显示
2:智能提示,输入关键字前几个字母,就列出一堆可选项
求一个实现思路,不需要具体代码 请教大神 说下思路
最佳答案
58_avatar_small
2019-12-3 21:33:33
mooncake 发表于 2019-12-3 18:30
类似各种IDE,比如Visual Studio,eclipse,让你输入关键字 if for return。。。等关键字的时 ...

《编译原理》词法分析、语法分析、语义分析,不过这还用不到,正则匹配到关键字,GetDlgItem(XXX)->SetFont()设置字体颜色、字体型号。




上一篇:D3D9_TS 走到VirtualProtect函数出问题了
下一篇:模仿CE和OD CListCtrl 已经搞定了
50_avatar_middle
最佳答案
0 
在线会员 发表于 2019-12-5 15:12:24 | 显示全部楼层
实现就是基本操作,不过效率上粗糙了肯定不行,粗糙的就很好处理:
1、找一块DC,处理WM_CHAR/WM_KEYXXX... 将字符 绘制在DC上;
2、计算位置,对文本进行分析,智能提示只是一个弹出的选择框/列表;
3、高亮/字体/颜色等,都是DC基本操作。

考虑好实现逻辑,绘制、分页等都是简单功能,定义好数据结构,去写就完了,写得好不好,效率高不高就看本事了。
12_avatar_middle
最佳答案
0 
online_moderator 发表于 2019-12-3 18:20:46 | 显示全部楼层
类似lua脚本这样吗
96_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-3 18:30:56 | 显示全部楼层
斜飞 发表于 2019-12-3 18:20
类似lua脚本这样吗


求一个实现思路,不需要具体代码类似各种IDE,比如Visual Studio,eclipse,让你输入关键字 if for return。。。等关键字的时候,这些字会变成关键字的 颜色,当输入message的时候,光标下面显示一堆 和message相关的代码候选列表,可以选择来用
12_avatar_middle
最佳答案
0 
online_moderator 发表于 2019-12-3 18:32:37 | 显示全部楼层
mooncake 发表于 2019-12-3 18:30
类似各种IDE,比如Visual Studio,eclipse,让你输入关键字 if for return。。。等关键字的时 ...

尴尬,我也是刚进这个论坛,还不懂C怎么实现
58_avatar_middle
最佳答案
58 
online_vip 发表于 2019-12-3 21:33:33 | 显示全部楼层    本楼为最佳答案   
bestAnswer
mooncake 发表于 2019-12-3 18:30
类似各种IDE,比如Visual Studio,eclipse,让你输入关键字 if for return。。。等关键字的时 ...

《编译原理》词法分析、语法分析、语义分析,不过这还用不到,正则匹配到关键字,GetDlgItem(XXX)->SetFont()设置字体颜色、字体型号。
51_avatar_middle
最佳答案
90 
online_admins 发表于 2019-12-4 05:25:04 | 显示全部楼层
楼上回答正解,如果要自己做好这个功能也不易,词法分析、语法分析!
71_avatar_middle
最佳答案
0 
在线会员 发表于 2019-12-4 12:32:10 | 显示全部楼层
词法分析,语法分析
50_avatar_middle
最佳答案
0 
在线会员 发表于 2019-12-5 15:05:31 | 显示全部楼层
不要小看一个编辑器,效率很考验功力。

58_avatar_middle
最佳答案
58 
online_vip 发表于 2019-12-5 16:47:40 | 显示全部楼层
丧德·彪夫斯基 发表于 2019-12-5 15:05
不要小看一个编辑器,效率很考验功力。

无条件支持!要做就做到最好。
96_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-6 21:20:16 | 显示全部楼层
thzzl 发表于 2019-12-3 21:33
《编译原理》词法分析、语法分析、语义分析,不过这还用不到,正则匹配到关键字,GetDlgItem(XXX)->SetFo ...

感谢大佬回复,看了回复后自己思考了一下,确实要想实现编辑器这些功能,了解词法分析,语法分析是必要的,我抽空研究下求一个实现思路,不需要具体代码
96_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-6 23:27:33 | 显示全部楼层
丧德·彪夫斯基 发表于 2019-12-5 15:12
实现就是基本操作,不过效率上粗糙了肯定不行,粗糙的就很好处理:
1、找一块DC,处理WM_CHAR/WM_KEYXXX.. ...

谢谢大佬回复,我会参考的
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-12-3 18:57

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表