我正在設計一個電影劇本編輯文本編輯器以獲得樂趣,並嘗試瞭解一些關於低級別UI設計的內容。電影劇本的格式非常簡單,並且是由長達12個月的快遞標準編寫的長期標準。所以我覺得設計一個編輯器相當簡單,只有一種字體和字體大小,而且沒有特殊的格式。我很想保留語義信息 - 例如,我希望場景標題可以存儲爲場景標題,而不僅僅是作爲文本格式化爲場景標題。模型在MVC文本編輯器場景中的角色
腳本中所需的更改跟蹤使應用程序變得更加複雜。其他頁面應該在頂部有修訂信息,因此文檔需要以一組頁面的形式存儲,並具有標識修訂的適當信息。
將文檔保持爲與視圖不同的對象似乎有意義,然後根據視圖中的輸入調用文檔對象上的方法以添加文本等。但是,哪個對象負責分頁?起初猜我會說這個文件,但分頁看起來像是一個演示文稿。對於文檔來說,使用圖形文本API來測量字符串並計算出它們佔用的空間也是沒有意義的。但是,如果這是出於觀點,理論上這可能與它在文檔中的存儲方式相沖突。那麼最好的解決方案是什麼?
我在編程方面有很多經驗,但與從零開始繪製我自己的用戶控件的本質有很少關係。我也故意避免將它綁定到特定語言,但我很可能用C#或C++編寫。
謝謝你的時間。
好的,但只有視圖知道文本有多大,因此多少可以放在頁面中? – gordonmleigh 2010-09-05 23:54:01
當你說'大'時,你是指字體大小還是文本長度? – MrBliz 2010-09-06 00:26:42
每個角色的尺寸 - 我會從Graphics.MeasureString或類似的東西中找到這個,它只對視圖有效。 – gordonmleigh 2010-09-06 10:03:31