На самом деле, я не уверен насчет метода, который вы используете для визуализации текста в вашем окне, и я думаю, что вам нужно его конкретизировать.
Если все сделано с использованием winapi / gdi (вообще говоря, это будет TextOut
текущий текстовый блок, который соответствует окну с учетом переноса и т. Д.), Вы должны добавить еще одну процедуру, которая будет обрабатывать орфографические ошибки перевод слов.
Опять же, это также зависит от вашего способа сохранения текущего текста и его параметров, но идея состоит в том, чтобы реализовать какую-то функцию, такую как RenderMisspelledWord(...)
, которая бы взяла ваш общий класс обработки текста или какой-то класс рендерера или даже (X, Y, Length)
в качестве параметров. Эта функция будет вызываться из более общего метода Render
, который вызывается из обработчика WM_PAINT
.
То, что он будет делать, также зависит от архитектуры вашего блокнота, но, например, в последнем случае это потребует рисования * / \ / \ / \ * частей подчеркивания с использованием подпрограмм GDI (строки) .
Вообще говоря, любой другой случай (с обработкой классов) также приведет к следующему действию, но с более высоким уровнем абстракции.