随笔分类 -  VC

摘要:上一次曾经发布过一篇如何实现一个代码编辑器。今年工作中得空,所以对这个编辑器进一步做了些更新,把名字改成了从CuteC改成了CEditor。主要是重写了软件的界面(最终还原朴素),重写了编辑控件语法高亮的着色方式,还有增加了一个简单的SSH客户端和SFTP文件编辑的功能。感觉基本的功能已经实现了,所以再次写点东西记录一下。并且发布一下编辑控件的源代码,有兴趣的可下载下来看看,虽然代码写得比较乱。 上个版本:http://www.cnblogs.com/linxr/archive/2011/10/30/2229256.html 编辑控件源码链接:http://files.cnblogs.com. 阅读全文
posted @ 2013-08-13 12:37 linxr 阅读(10431) 评论(1) 推荐(10) 编辑
摘要:这一年来我花了很多的时间在写一个代码编辑器。大部分时间都是在实现各种各样的功能,其中也遇到了不少的问题。现在把实现这个编辑控件的一些问题的解决方法写出来,以供参考。这里说明下,我用的是MFC,当然了,没有用现成的控件,而是直接从CWnd继承来实现自己的编辑控件。先给大家弄个效果图吧,你可以在这里CuteC Editor下载,欢迎大家提出意见。问题1:如何让控件接受所有的按键和汉字。问题2:如何计算光标的位置。问题3:如何存储编辑控件的文本内容。问题4:如何实现关键字高亮。问题5:如何实现自动换行。问题6:如何解析脚本。呵呵,我自己写了个C语言解释器,那它来用还是很不错的。一. 如何让控件接受. 阅读全文
posted @ 2011-10-30 13:53 linxr 阅读(8028) 评论(21) 推荐(14) 编辑
摘要:实现的目标是,让一个窗口永久的置于另一窗口的顶部,但是不能影响到别的程序的界面。 这种需求在很多情况下会遇到。比如,文本编辑器的查找替换窗口,如果是模态对话框的话,那么操作完成后必须关闭对话框,然后才能回到主界面进行编辑操作。但是,如果是非模态对话框,当回到主界面编辑的时候,这个对话框又会被覆盖。所以,要使用非模态对话框,又要使它在编辑界面的顶层。 为了解决这个问题,我尝试了很多方法。1. 最容易想到的就是SetWinodwPos函数的第二个参数,然而,当我创建窗口时,设置这个参数,结果没有作用,除非是HWND_TOPMOST,但是这不符合我的要求,因为这样会影响到别的程序。2. 在OnWin 阅读全文
posted @ 2010-12-20 15:36 linxr 阅读(2178) 评论(0) 推荐(0) 编辑