我正在使用vanilla Win32 API在C++中实现文本编辑器,并且我正在尝试找到实现语法突出显示的最佳方法.我知道有像scintilla那样的现有控件,但我这样做是为了好玩,所以我想自己完成大部分工作.我也希望它快速轻巧.
从我到目前为止所学到的,看起来在GDI中绘制文本的最低级别选项就是TextOut
函数.但是,如果我需要不断更改字体颜色,那么这意味着我需要进行多次调用TextOut
才能绘制一个混合格式的文本体.这效率低吗?当实现语法高亮和富文本控件时,它们是否可能TextOut
在幕后使用或是否有其他方式?在GDI中绘制文本的其他方法是否只是更高级别的包装TextOut
?