トップ 一覧 検索 ヘルプ RSS ログイン

Palm OS Programmer's Companion Volume I/4-5の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
[[← 4 節に戻る|Palm OS Programmer's Companion Volume I/4-4]] [[↑4 章トップへ|Palm OS Programmer's Companion Volume I/4]] [[6 節に進む →|Palm OS Programmer's Companion Volume I/4-6]]
----
!!!4-5 フィールド
 
フィールドオブジェクトは1行またはそれ以上のテキストを表示します。図 4.15 に示しているのは下線付きで左揃えの、データを含んだフィールドです。

!図 4.15 フィールド
{{ref_image figure_4.15.gif}}

フィールドオブジェクトは以下の機能をサポートします。
*プロポーショナルフォント(フィールド単位で1フォントのみ)
*ドラッグによる選択
*複数行フィールドでのスクロール
*カット、コピー、およびペースト
*左端、および右端揃え
*タブストップ
*編集可能/不可能属性
*フィールドの高さの拡張( 多くのテキストが入力されるとフィールドの高さを拡張 )
*下線付きテキスト(フィールドの各行に下線を表示)
*最大文字数制限(最大文字数に達っすると文字入力を停止)
*特殊キー( Graffiti および Graffiti 2 ストローク )によるカット、コピー、ペーストのサポート
*ペンによるカーソルの移動( 文字と文字の間をペンでタップしてカーソル位置を指定 )
*スクロールバー

フィールドオブジェクトは重ね打ち入力モード、水平スクロール、数値のフォーマット、および特殊キーでのページアップ、ページダウン、left word、right word、ホーム、エンド、left margin、right margin、バックスペースをサポートしていません。バージョン 3.5 未満の Palm OS では、フィールドオブジェクトは単語選択もサポートしていません。バージョン 3.5 以降では、単語をダブルタップすればその単語を選択し、トリプルタップをすることによって行全体を選択します。

 訳注:left word、right word、left margin、right margin については
    意味が良くわからなかったのでひとまずそのままとしています。

::NOTE
:::フィールドオブジェクトはラインフィード( 0x0A )は処理できますが、キャリッジリターン( 0x0D )は処理できません。PalmRez は Palm OS リソース内で見つけたキャリッジリターンを全てラインフィードに変換しますが、スタティックデータについてはなにもしません。

フィールドオブジェクトのイベントは FldHandleEvent で処理されます。表 4.13 に FldHandleEvent がどのように各種のイベントを扱うかの概要を示します。


!表 4.13 フィールドのイベントフロー
,ユーザー操作,生成されるイベント,FldHandleEvent の応答
,フィールドをペンで押下,penDownEvent と x & y 座標を EventType に設定,fldEnterEvent をイベントキューに追加
, ,フィールド ID の fldEnterEvent,カーソル位置をペンの位置に合わせ、ペンが離されるまで追跡。ドラッグによる選択とスクロールをサポート。
, , ,Palm OS 3.5 以降では、ダブルタップでその位置の単語を選択し、トリプルタップで行を選択。
,ペンが離される,penUpEvent と x & y 座標を EventType に設定,なにもしない。他のフィールドが選択されるか、そのフィールドを含むフォームがクローズされるまでフィールドは選択状態のまま。
,選択フィールドに文字を入力,keyDownEvent と 文字コードを EventType に設定,文字をフィールドのテキスト文字列に追加
,上矢印キーを押下,keyDownEvent,カーソルを1行上に移動
,下矢印キーを押下,keyDownEvent,カーソルを1行下に移動。カーソルが最終行にあれば移動しない。
,左矢印キーを押下,keyDownEvent,カーソルを1文字分左に移動。左端に到達した場合は前の行の終端に移動。
,右矢印キーを押下,keyDownEvent,カーソルを1文字分右に移動。右端に到達した場合は次の行の先頭に移動。
,カットコマンド,keyDownEvent,選択文字列をテキストクリップボードに切り取り。
,コピーコマンド,keyDownEvent,選択文字列をテキストクリップボードにコピー。
,ペーストコマンド,keyDownEvent,クリップボードのテキストをフィールドのカーソル位置に挿入。

 
----
[[← 4 節に戻る|Palm OS Programmer's Companion Volume I/4-4]] [[↑4 章トップへ|Palm OS Programmer's Companion Volume I/4]] [[6 節に進む →|Palm OS Programmer's Companion Volume I/4-6]]