鼓勵此網誌:0
找到類似 InvalidateRect 的指令,
就是使用 DrawNow() 即可,
試過了可以使用~~ ^^
呃......不是我要說,
真覺得那些寫 Symbian 的高手很厲害,
究竟是從哪裡得到資訊的啊?=口=|||
像這次我要做有關存檔的功能,
會用到
| static IMPORT_C CImageEncoder *FileNewL(RFs &aFs, TDesC &aDestinationFilename, TOptions aOptions=EOptionNone, TUid aImageType=TUid::Null(), TUid aImageSubType=TUid::Null(), TUid aEncoderUid=TUid::Null()); |
這個函式,
只見 SDK 上很簡單地描述著
| TUid aImageType:The image type to use for the encoding (mandatory). TUid aImageSubTyp:The image sub-type to use for the encoding (only if applicable, defaults to KNullUid). |
好,寫這樣。
寫這樣誰知道 aImageType 和 aImageSubType 的值有哪些啊!?=皿="
下了各種關鍵字去尋找都找不著,
最後是直接去看 ImageConversion.h 的內容,
進而找到
<SDK>\Epoc32\include\ICL\ImageCodecData.h
裡面有定義,
然後再去網路上搜尋資料,
真的是我的天啊......學 Symbian 真是對找資料的功力有幫助......= =|||b
接著使用到了 AknCommonDialogs::RunSaveDlgLD 來做存檔檔名的取得。
好神奇,
我知道範例中有提到 MEMORYSELECTIONDIALOG 的撰寫方法,
但真正所有的規格都沒有列啊,
網路上這些高手是怎麼知道其撰寫規則的啊?= =|||b
不過去網路上搜尋是有不少資料,
除了要記住在 RSS 資源檔中要 include 一些檔案:
#include <CommonDialogs.hrh> // Enumerations
#include <CommonDialogs.rh> // Resource structures
其他就參考網路資料吧。(笑)
然後 locale 的部份有點複雜,
幸好網路上有人討論,說明得也很清楚,可以參考看看。(笑)
為了把握時間,我是採取很「不正規」的方式處理多國語系的問題,
但是也碰到了不少艱困的問題,
幸好最後終於解決。
大抵上解決方法有:
- 跟語系有關的檔案要另外放,依據 Symbian 的語系編碼取副檔名。
至於 Symbian 的語系編碼為何可參考 e32std.h,
像台灣的編碼就是 ELangTaiwanChinese = 29。 - 非英文語系的檔案要存成 UTF-8 格式,存好後從 Carbide.c++ 看會發現最前面多出幾個亂碼字元,把亂碼字元刪除即可。
- 檢查 PERL 的版本,要 5.6xxx 的那個版本,5.8 的版本無法編譯成功。
我的系統安裝的版本為 Perl 5.6.1 build 638。
介面的語系化成功了,接下來就是看字串的部份囉~~@@
- Developer Discussion Boards
- Forcing screen to redraw - Developer Discussion Boards
- Save CFbsBitmap to File
- Symbian中是否有类似于IE的查找本地文件的功能? [Archive] - Developer Discussion Boards
- Setting a default drive and directory for AknCommonDialogs
- about ui encoding use chinese language - Developer Discussion Boards
- 上下文相关帮助本地化方案 - Developer Discussion Boards








