让我们写一个 Win32 文本编辑器吧 - 1. 简介

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

让我们写一个 Win32 文本编辑器吧 - 1. 简介

在之前的一篇文章 《曾经我认为C语言就是个弟弟》 中,我们通过使用 Windows 系统自带的 EDIT 控件,创建了一个简单的文本编辑器。而且在文章的最后,还承诺要不使用 EDIT 控件,自己制作一个十六进制编辑器。

后来想到,既然十六进制编辑器都做了,作为一个程序员,不如写一个文本编辑器吧,既可以编辑二进制,又可以编辑文本,岂不美哉。

由于实现一个编辑器的复杂性相对比较大,一篇内容肯定完不成。所以,这里决定将整个过程作为一个系列来编辑。

本篇是系列的第一篇。在本篇文章中,将会对我们期望获得的结果进行简单的描述,并进行基础代码框架进行构建。

本文主要包含两个部分,如下:

  1. 项目简介

在项目简介部分,将会对我们要实现的目标编辑器的样子,以及使用方法进行介绍。同时,也会对本系列接下来的文章要讨论的主题进行大致说明。

  1. 基础代码框架搭建

在代码框架搭建部分,将会对项目的创建,设置进行说明。并编辑我们的基础代码。

1. 项目简介

a. 目标

Windows11 中,已经将记事本的编辑控件由 EDIT 替换为 RichEditD2DPT,详情参考Windows 11 Notepad。但是由于关于 RichEditD2DPT 控件的描述太少,不知道其具体的用方法。
所以,这里我们以 EDIT 控件的接口为准,并实现附加功能。

在此,我们的目标是:通过 C 语言,调用 Win32 接口,生成一个文本编辑器。目标编辑器除了实现和 Windows 提供的默认文本编辑器 EDIT所有消息处理,还提供如下功能:

  1. 可以设置字体颜色

对于 EDIT 控件,虽然可以设置其文本字体,但是没有设置颜色的方法。

  1. 可以编辑比较大的文件

对于平时的文件编辑器来说,编辑小文件基本上都差不多,但是当遇到比较大的文件时(比如1G),很可能无能为力,甚至卡死。
所以,既然我们要做一个新的编辑器,自然要考虑大文件的编辑问题。

  1. 采取Direct Write方式实现,而不是和普通的编辑器一样,通过 GDI

做此选择的原因,除了因为 Direct

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[虚幻私塾】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值