簡易文本編輯器代碼 記事本是一個純文本編輯器。這是什么意思啊?
記事本是一個純文本編輯器。這是什么意思?。课谋揪庉嬈饕恢笔莻€難題?;旧?,現(xiàn)代文本編輯器體系結(jié)構(gòu)基本上由視圖、存儲和布局管理器組成。如果只考慮純文本,也就是像記事本這樣的程序,存儲可以直接用字符串代替
記事本是一個純文本編輯器。這是什么意思???
文本編輯器一直是個難題?;旧?,現(xiàn)代文本編輯器體系結(jié)構(gòu)基本上由視圖、存儲和布局管理器組成。如果只考慮純文本,也就是像記事本這樣的程序,存儲可以直接用字符串代替,因為它不涉及格式化和大文本。我沒有研究過富格文本版本,但是對于純文本來說,布局相對容易。我們來談?wù)劶兾谋?。首先,不建議您為數(shù)據(jù)結(jié)構(gòu)制作自己的輪子。可以使用字符串類。但是,字符串通常是不可變的,因此頻繁的操作會導(dǎo)致性能問題。不過,問題在初期并不大。建議為以后的優(yōu)化保留此接口。然后,在渲染部分,關(guān)鍵點是測量每個字符,計算一行的長度,然后進(jìn)行換行。如果考慮自動斷線,則會更加復(fù)雜。分割線之后,您可以直接在繪圖API中獲得抽繩。對于選定的文本,可能需要使用反向顏色再次繪制字符串?;旧暇褪沁@樣。當(dāng)然,會有性能問題。對于不在視口中的行,需要計算它們并跳過該部分中的圖形。