我正在C++中使用香草Win32 API實現文本編輯器,並試圖找到實現語法高亮的最佳方法。我知道有像閃爍石那樣的現有控制器,但我爲了好玩而做這個,所以我想自己完成大部分的工作。我也希望它快速輕量。什麼是在Win32 API中繪製格式化文本的最快方法?
從我迄今爲止所瞭解到的情況來看,它看起來像GDI中繪圖文本的最低級別選項是TextOut
函數。但是,如果我需要不斷更改字體顏色,那麼這意味着我需要撥打TextOut
以便以混合格式繪製一個文本主體。這是低效的嗎?當實現語法高亮和富文本控件時,他們可能會在幕後使用TextOut
還是有其他方法?在GDI中繪製文本的其他方法只是圍繞TextOut
的更高級別的包裝?
獲得正確已經是一個挑戰。 [使用Uniscribe顯示文本](http://msdn.microsoft.com/en-us/library/dd317792.aspx)是您需要解決的問題的良好介紹。 – MSalters 2011-04-05 07:28:15