Каков самый быстрый способ рисования форматированного текста в Win32 API?

Я реализую текстовый редактор на C ++, просто используя стандартный Win32 API, и я пытаюсь найти лучший способ реализовать подсветку синтаксиса. Я знаю, что существуют существующие элементы управления, такие как scintilla, но я делаю это для развлечения, поэтому большую часть работы я хочу делать сам. Я также хочу, чтобы он был быстрым и легким.

Из того, что я до сих пор узнал, похоже, что наиболее низкоуровневым вариантом для рисования текста в GDI является функция TextOut . Однако, если мне нужно постоянно менять цвет шрифта, это означает, что мне нужно будет сделать много вызовов TextOut , чтобы нарисовать один текст со смешанным форматированием. Это неэффективно? Когда реализованы подсветка синтаксиса и элементы управления форматированным текстом, будут ли они использовать TextOut за кулисами или есть другой способ? Является ли любой другой метод рисования текста в GDI просто оболочкой более высокого уровня вокруг TextOut ?

11
задан Graeme Hill 5 April 2011 в 04:27
поделиться