前言:前不久給大家介紹了 C65 主題的制作,受到了大家的歡迎。今天就和大家一起探究一下小 c 的菜單 DIY 。這里說的菜單,除了九宮格菜單外,也包括九宮格 9 個宮的各個菜單項。學習了本文,你不僅可以定制自己的 9 宮格菜單(變更九宮格的排列、增加新格,定義各個宮的功能),還可以把每個宮的菜單項任意的修改!徹底的 DIY 菜單內容,打造屬于自己的終極小 c !閑話少說,快跟我來吧!
一.準備!工作前應該做的
1. 下載 http://yizhe.net/C65 下載區的 *.fs Files Creator 1.1 和 Menu Creator 兩個軟件包并解壓;
2. 手機需要 OD 破解打開隱藏目錄;
3. 準備一個九宮格圖標庫,可從 http://yizhe.net/C65 上下載“九宮圖標庫”,內含 24 套圖標及相關配置文件,本文要以當中的 FlexMenuB 作為實驗講解對象;
4. 學習兩篇菜單更改的文章,分別是 herrliu 的《一種簡單易行的更換九宮圖標庫的方法》和 hetian 的《 顛覆 —— 九宮菜單變 12 宮菜單、 18 宮菜單》。
5. 由于要更改的東西比較多(而且有一定的風險,呵呵),建議大家先在模擬器上使用通過后在往自己的愛機上做。
二.開始!溫習 《一種簡單易行的更換九宮圖標庫的方法》和《 顛覆 —— 九宮菜單變 12 宮菜單、 18 宮菜單》
兩篇文章的閱讀就不說了,這里提到這兩篇文章是因為這兩篇文章透露出來了菜單更改 過程的某些重要信息。這里先總結一下:
《一種簡單易行的更換九宮圖標庫的方法》一文告訴我們,九宮格菜單其實就保存在手機的 config\japp\FlexMenu 文件夾里,我們要更改九宮格的圖標就只要把新的包含圖標和配置文件的 FlexMenu 文件夾覆替換掉手機里的 FlexMenu 文件夾就行了。而《 顛覆 —— 九宮菜單變 12 宮菜單、 18 宮菜單》告訴我們,菜單的配置是由 main.fs 等擴展名是 .fs 的文件決定的,要定制自己的個性菜單,就要了解 .fs 文件!好,明白了上面兩點,我們就可以進入深層次的學習了。
三. 深入!揭開 .fs 文件的面紗
.fs 文件和我原來研究過的主題配置文件不同,主題配置文件是遵循 xml 格式寫的, 而 .fs 格式的文件用一般的文本編輯器打開是亂碼,確實很頭疼。不過既然有 *.fs Files Creator 這樣的軟件出來,說明該文件格式還是可以讀的,只不過要借助軟件了,這對喜歡研究源碼的玩家不得不說是個遺憾。日后如果哪位找到察看源碼的方法,一定要告訴我。
回到正題。 打開早先準備好的 FlexMenuB 文件夾,可以看到里面有 18 張 .png 格式的圖片, 5 個 .fs 格式的文件,另外兩個配置文件不明,暫時不用。這里主要研究的是 5 個 fs 文件。今天使用的工具是 Menu Creator !解壓 Menu Creator.rar ,得到的 mccx65.exe 就是可執行文件了。雙擊它運行,點左上角的 File->Open File ,選中 FlexMenuB 中的 main.fs ,打開 main.fs 文件,界面如圖 1 。
圖1
可以看到,界面分為 4 個區: Menu name 是聲明現在更改的是哪個菜單。 TXT_SUBI_02_J_MainMenu 就是九宮格菜單了;右邊的 Menu icon 是給菜單定義一個圖標。如果不定義的話,系統會用每個菜單項的圖標來顯示,這點下面我會提到;下面的 SoftKeys 區是定義在該菜單下,左右軟鍵的功能。比如在現在九宮格菜單下,左右軟件對應的是 My menu( 常用功能 ) 和 Option (選項);最后的 Menu items 就是該菜單下顯示的菜單項。比如我們看到的 Message ( 5 )就是短信,對應功能鍵 5 , eatra(7) 就是附加功能,對應功能鍵 7 等等。注意列表中有 Name,Function 的區別。我的經驗是我們只需要指定 Function ,則相對應的 Name 軟件會幫我們設置好。
OK !現在可以分析 .fs 文件的結構了。該文件首先指出自己是哪個菜單的配置文件,然后指定自己這個菜單的圖標(可選),接下來指定進入該菜單后左右軟件的功能,最后定義該菜單下的各個菜單項及對應的功能。現在再打開一個 setup.fs 文件驗證一下,如圖 2 和圖 3 。
圖2

圖3
可以看到, setup.fs 沒有定義左右軟鍵,則默認左軟鍵為空,右軟鍵為“選擇”; Menu icon 指定的是一個傾斜的扳手圖標,在圖 3 的最上邊顯示的就是它; Menu items 列表對應的各個功能就是圖 3 中顯示的菜單項,而且順序與 Menu items 列表完全一致,如第一行 Profiles(9,1) 就是情景模式,第三行 Display(9,3) 就是顯示屏。呵呵, .fs 文件的神秘面紗被我們揭開了!
四. 終極!定制自己的個性菜單
有了上面的學習,我想很多玩家已經開始自己探索著改了。確實,一旦 .fs 文件的秘 密 一揭開,剩下的事情誰都會做了。我這里做兩個簡單的示范,拋磚引玉吧。
1. 給“商務助理”加入“鬧鈴”,并在進入“商務助理”后,左鍵添加“名片”功能。
首先,用 Menu Creator 打開 organiser.fs ,這就是“商務助理”的配置文件,界面如圖 4 。
圖4
然后,點 Softkeys 的綠色“ + ”按鈕,在彈出的菜單的下拉列表中選擇 Business card(1,3) , 如圖 5 。

圖5
接下來,點 Menu items 下的綠色“ + ”按鈕,在彈出的菜單的下拉列表中選擇 Alarm clock(7,1) ,點 OK 確定。
最后得到的結果如圖 6 , Business card 和 Alarm clock 都加入其中了。
圖6
之后點菜單 File->Save as ,把修改過的 organiser.fs 覆蓋掉原來的 organiser.fs 保存,然后我們就能讓 FlexMenuB 這套圖標庫擁有我們定制的功能啦!用 《一種簡單易行的更換九宮圖標庫的方法》介紹的方法應用這套圖標,開機進入“商務助理”試試看!多出了“名片”和“鬧鐘”! 帥吧?
2. 在“其他設定”中添加整個“附加功能”菜單(!重點!)
首先,用用 Menu Creator 打開 setup.fs 。
然后,在 Menu items 下添加整個 extras 項!方法是,使用 Standart 中的某個條目,我這
里用的就是 Accessories(9,12) ,然后點右邊的 Other(*.fs) ,點 OK 確定,如圖 8 ,最后結果如圖 9 。
圖8
圖9
可以看到,列表里有了兩個 Accessories(9,12) ,但是第二個的 Function 是 extras.xml 。這里有兩個問題要說一下。一是 Name 只能用系統自身列表中的一個,而不能用 Other ,我試過,自己定義 Name 的話手機不能顯示該名字,也就是說 C65 只支持自己內部已經定義的菜單名字。看來要向講“遠端同步”改為“急速菜單”的高手學習如何改名字了;二是這里用的 extras.fs 是因為 FlexMenuB 文件夾下有此文件。如果要指定別的 .fs 文件,我們必須先在當前文件夾下創建自己的 .fs 文件,否則更改沒有效果。
最后,將 Setup.fs 保存,然后應用即可。在模擬器上效果是 其他設定里最后有兩個“附件”,點最后一個“附件”,就能進入“附加功能”菜單。
OK ,我的兩個更改就到此。明白了這些規則,大家完全可以 DIY 自己的菜單了。
五.回首!某些遺忘的問題
在此過程中,還有兩個問題需要說。一是一開始說的圖標的問題。以 main.fs 為例,經 我測試,如果在 mian.fs 的 Menu icon 中指定一個,則我們在手機上應用時,無論選九宮格的哪個功能,最上邊的顯示都是我們指定的這個圖標;而不指定該圖標的話,最上邊的圖標會隨著我們選擇的功能而變化。二就是要說說 Menu items 列表中的其他字段。 Anim.icon 是動畫圖標,也就是我們選中該項時的顯示圖標, Stat.icom 是靜態圖標,即該項未被選中時的圖標。這些圖標必須在當前文件夾下有定義,否則將顯示默認的紅色的文件夾圖案。接下來的 Portal control 和 Active if portal 兩個字段,當 Portal c ,或者 Portal control為Enable 同時 Active if portal為False 時,該菜單項可在菜單中顯示;如果 Portal control為Enable 同時 Active if portal為True 時,該菜單項不顯示。我還不知道這樣設置的目的,目前也正在探索中,希望和大家共同進步!(全文完)