匯東網


[頂置] [類內頂置] 項目規劃表

[編輯] [转简体]
|
作者:huidong | 分類:【編程】雜項
[ 46 瀏覽 0 評論 7 贊 7 踩 ]

概要

正文

總任務排序表

  1. 學畫原理圖和勒板

    1. 完成 AT32F421 相關工作

    2. 分析 FreePCB 源碼

    3. (可能)學習 AD 系列課程

  2. (可能)手錶,單片機

  3. HiEasyX 重構

    1. 研究 Win32++ 功能

    2. 基於 CDC 封裝 HiCanvas

    3. (待考慮)基於 Direct2D 封裝 HiD2DCanvas

      1. (可能)學習 D2D 系列課程

    4. 窗口消息相關處理,轉換爲 ExMessage 消息

    5. 封裝一個簡單的自絵控件庫

  4. (可能)學習 vckbase 系列課程,填補知識漏洞

  5. 基於 HiEasyX 的小項目

    1. OpenCC 客戶端工具

  6. 王羲之老子道德經重寫工具(未命名)

  7. 【精製】風葉穿行(復刻)

    1. (可能)學習 Voidmatrix 的教程

  8. (待定)自製 mspaint

    1. 元素對齊功能

    2. 一個元素可以在創建後重新編輯,而不要直接平化。但是由於習慣與像素操作,只有按住 Ctrl 時才選擇元素,否則還是像素編輯。


做一個 OpenCC 客戶端工具

(參考 ConvertZ 的功能,考慮能否逆向 ConvertZ,使其調用 OpenCC)

  1. 支持直接輸入內容轉繁體

  2. 支持非 UTF-8 文件自動生成 UTF-8 副本後轉繁體再導出爲原編碼文件(但是有的字符可能必須用 UTF-8 編碼保存)

  3. 支持文本繁體用字正誤檢測(原繁體->簡體->繁體,比對最後的繁體和一開始的繁體是否一致)

  4. 支持監測剪貼板,內容變化時可以選擇是否自動將內容轉繁體

  5. 轉換繁體後再轉一次簡體,確認是否可逆。還可以根據自定義詞表進行後期再修正(可以採用 ConvertZ / ConvertZZ 詞表)

FreePCB 改進計劃

  1. 右鍵拖動界面

  2. 雙擊編輯元素

  3. R 鍵旋轉元素

學習:

  1. 如何調用 CDC

  2. 如何自定義對話框

  3. 如何實現撤銷操作

HiEasyX 計劃事項

1. 基於自絵文本框實現一個自己的 cmd(HiConsoleBox 和 HiConsoleWnd),以省去界面開發的時間。

    具體功能:

        支持 printf 輸出,scanf 輸入等基本操作。

        不使用 system 命令,改爲直接對 HiConsoleBox 調用 pause,kbhit,getch,clr 等指令,更多控制檯函數以後再研究是否加入。

        支持在 cmd 中插入控件和圖片(不一定實現)(插入的圖片可以選擇顯示爲 cmd 像素風格)。

        插入的控件是單獨爲 cmd 設計的,不使用圖形化界面(否則不搭調)。

        目前規劃支持以下控件:

            * 按鈕

            * 靜態文本控件(可以直接通過代碼修改文本顏色以及文本內容,而不必通過清屏實現)

            * 輸入框(相比與 scanf,這個可以輸入多行內容,且由於是控件,可以設置其中內容,例如按一下按鈕之後自動進行填充文本框內容,這是 scanf 所做不到的)

            * 單選框、多選框

            * 下拉選擇框、普通多項選擇框

            * 未完待續……

        計劃使用 System 等寬字體。

        計劃支持豎排文本,對於其中的英文計劃採取使用旋轉 90° 的方式顯示,且鼠標置於英文上時將使用氣泡顯示橫排內容。

        光標需要變成編輯光標,且在豎排模式下需要旋轉 90°。

        可以通過代碼很簡單地更變輸出顏色。

    輸入框應該支持的快捷鍵:

        Ctrl+D 複製一行

        Alt+上下鍵 交換行

        (Ctrl+) Home 和 End 快速跳轉

        PageUp / PageDown

        Insert

        Delete

        按住 Alt 選擇多行光標

        選中多行時的 Tab 和 Shift Tab 處理

    數據結構:

        待研究。可以參考一下 CrystalEdit 的代碼。

2. 需要注意 EasyX 之前改過的 bug,很可能自己會遇到。參見 https://easyx.cn/easyx-20230723 和 https://easyx.cn/easyx

3. 重點參考項目:

    a. EGE 源碼

    b.

雜項想法記錄

  1. 對於帶有透明信息的 IMAGE,使用普通的 putimage 輸出時,直接將該 IMAGE 信息覆蓋到目標 IMAGE 對象上,而不進行 alpha 混合。這樣就可以對目標 IMAGE 的 alpha 值進行更爲方便的操作。

    只有使用 putimage_alpha 等支持 alpha 的函數時才進行 alpha 混合。

  2. RichEdit 可以去支持複雜的排版(例如表格之類)。只需要每個複雜的聚合對象都有一個排版函數,對其內部進行排版即可。然後在整個編輯框的渲染當中,就可以把這樣的對象當作一個整體元素進行排版即可。

  3. 自絵控件可以採取 RIME 那樣零件裝配的形式。例如在每個 UI 組件中,只需要調用若干個零件函數(HasBorder(); HasSizeBox(); HasClickArea(); 等等)

我的簡易 Smarty

  1. 支持 {if $var} ... {else} ... {endif} 語法

  2. 實例化模板時支持傳入 bool 值,自動轉爲 "true" 或 "false"

  3. (BUG)如果博客內容中含有待替換標識符則會引起不必要的麻煩(例如 {$XXX})

[ 7] [ 7]


 評論區  0 條評論

+ 添加評論