Treo 600 の 5-Way Navigation に関して。
「Treo600_Developer_Reference_Guide」より
UInt32 val; if (FtrGet (hsFtrCreator, hsFtrIDNavigationSupported, &val) == errNone) { // 5-Way Rocker あり }
※下の方法は使えない(エラーとなる)。
if (FtrGet (sysFileCSystem, sysFtrNumUIHardwareFlags, &val) == errNone) { if (val & sysFtrNumUIHardwareHas5Way) // 5-Way Rocker あり }
UInt16 version; // APIのバージョン (=1) UInt16 numberOfObjects; // オブジェクトの数 UInt16 headerElementSizeInBytes; // ヘッダーサイズ (=20) UInt16 listElementSizeInBytes; // リストの要素サイズ (=8) UInt32 navFlags; // フォーカスモード...FrmNavHeaderFlagsAutoGeneratedなど UInt16 initialObjectIDHint; // 最初にフォーカスされるオブジェクトのID UInt16 jumpToObjectIDHint; // 未使用 UInt16 bottomLeftObjectIDHint; // 未使用 UInt16 padding; // ?
UInt16 objectID; // オブジェクトのID UInt16 objectFlags; // フラッグ...none(0)で特に問題なし UInt16 aboveObjectID; // 1つ上のオブジェクトID(前のではない) UInt16 belowObjectID; // 1つ下のオブジェクトID(後のではない)
HEX "fnav" ID ListView 0x00 0x01 0x00 0x0b 0x00 0x14 0x00 0x08 0x80 0x00 0x00 0x00 0x03 0xf2 0x03 0xf2 0x03 0xea 0x00 0x00 0x03 0xfc 0x00 0x00 0x00 0x00 0x03 0xf2 ...以下オブジェクトの数だけ繰り返し(この場合11個)
AND OR
Treo 600 の 5-Way Navigation に関して。
5-Way Rocker 有無の判断
「Treo600_Developer_Reference_Guide」より
※下の方法は使えない(エラーとなる)。
‘fnav’リソースの定義
書式
CodeWarriorでの定義
プログラム内の処理