{{div_begin}} [[← 19 章に戻る|Palm OS Programmer's API Reference/19]] [[↑トップへ|Palm OS Programmer's API Reference]] [[21 章に進む →|Palm OS Programmer's API Reference/21]] {{div_end}} {{div_begin style="margin-bottom:-10px"}} !!!20 テーブル {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *{{goto Table Data Structures,テーブル データ構造体}} **{{goto TableAttrType,TableAttrType}} **{{goto TableColumnAttrType,TableColumnAttrType}} **{{goto TableItemPtr,TableItemPtr}} **{{goto TableItemType,TableItemType}} **{{goto TablePtr,TablePtr}} **{{goto TableRowAttrType,TableRowAttrType}} **{{goto TableType,TableType}} *{{goto Table Constants,テーブル定数}} *{{goto Table Resources,テーブル リソース}} *{{goto Table Functions,テーブル関数}} **{{goto TblDrawTable,TblDrawTable}} **{{goto TblEditing,TblEditing}} **{{goto TblEraseTable,TblEraseTable}} **{{goto TblFindRowData,TblFindRowData}} **{{goto TblFindRowID,TblFindRowID}} **{{goto TblGetBounds,TblGetBounds}} **{{goto TblGetColumnSpacing,TblGetColumnSpacing}} **{{goto TblGetColumnWidth,TblGetColumnWidth}} **{{goto TblGetCurrentField,TblGetCurrentField}} **{{goto TblGetItemBounds,TblGetItemBounds}} **{{goto TblGetItemFont,TblGetItemFont}} **{{goto TblGetItemInt,TblGetItemInt}} **{{goto TblGetItemPtr,TblGetItemPtr}} **{{goto TblGetLastUsableRow,TblGetLastUsableRow}} **{{goto TblGetNumberOfColumns,TblGetNumberOfColumns}} **{{goto TblGetNumberOfRows,TblGetNumberOfRows}} **{{goto TblGetRowData,TblGetRowData}} **{{goto TblGetRowHeight,TblGetRowHeight}} **{{goto TblGetRowID,TblGetRowID}} **{{goto TblGetSelection,TblGetSelection}} **{{goto TblGetTopRow,TblGetTopRow}} **{{goto TblGrabFocus,TblGrabFocus}} **{{goto TblHandleEvent,TblHandleEvent}} **{{goto TblHasScrollBar,TblHasScrollBar}} **{{goto TblInsertRow,TblInsertRow}} **{{goto TblMarkRowInvalid,TblMarkRowInvalid}} **{{goto TblMarkTableInvalid,TblMarkTableInvalid}} **{{goto TblRedrawTable,TblRedrawTable}} **{{goto TblReleaseFocus,TblReleaseFocus}} **{{goto TblRemoveRow,TblRemoveRow}} **{{goto TblRowInvalid,TblRowInvalid}} **{{goto TblRowMasked,TblRowMasked}} **{{goto TblRowSelectable,TblRowSelectable}} **{{goto TblRowUsable,TblRowUsable}} **{{goto TblSelectItem,TblSelectItem}} **{{goto TblSetBounds,TblSetBounds}} **{{goto TblSetColumnEditIndicator,TblSetColumnEditIndicator}} **{{goto TblSetColumnMasked,TblSetColumnMasked}} **{{goto TblSetColumnSpacing,TblSetColumnSpacing}} **{{goto TblSetColumnUsable,TblSetColumnUsable}} **{{goto TblSetColumnWidth,TblSetColumnWidth}} **{{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure}} **{{goto TblSetItemFont,TblSetItemFont}} **{{goto TblSetItemInt,TblSetItemInt}} **{{goto TblSetItemPtr,TblSetItemPtr}} **{{goto TblSetItemStyle,TblSetItemStyle}} **{{goto TblSetLoadDataProcedure,TblSetLoadDataProcedure}} **{{goto TblSetRowData,TblSetRowData}} **{{goto TblSetRowHeight,TblSetRowHeight}} **{{goto TblSetRowID,TblSetRowID}} **{{goto TblSetRowMasked,TblSetRowMasked}} **{{goto TblSetRowSelectable,TblSetRowSelectable}} **{{goto TblSetRowStaticHeight,TblSetRowStaticHeight}} **{{goto TblSetRowUsable,TblSetRowUsable}} **{{goto TblSetSaveDataProcedure,TblSetSaveDataProcedure}} **{{goto TblSetSelection,TblSetSelection}} **{{goto TblUnhighlightSelection,TblUnhighlightSelection}} *{{goto Application-Defined Functions,アプリケーション定義関数}} **{{goto TableDrawItemFuncType,TableDrawItemFuncType}} **{{goto TableLoadDataFuncType,TableLoadDataFuncType}} **{{goto TableSaveDataFuncType,TableSaveDataFuncType}} {{div_end}} {{div_begin "style='position:relative;padding:0px;padding-right:5px;padding-left:10px;margin-right:250px;margin-top:20px;width:auto;border-right-style:dotted;border-right-width:2px;border-right-color:silver;'"}} この章では、ヘッダ ファイル {{span style='color:blue;font-family:monospace;',Table.h}} で宣言されているテーブル API について説明します。以下に挙げたものについて説明します。 *{{goto テーブル データ構造体,テーブル データ構造体}} *{{goto テーブル定数,テーブル定数}} *{{goto テーブル リソース,テーブル リソース}} *{{goto テーブル関数,テーブル関数}} *{{goto アプリケーション定義関数,アプリケーション定義関数}} テーブルについての追加情報は ''Palm OS Programmer's Companion, vol. I'' の[[「テーブル」|Palm OS Programmer's Companion Volume I/4-7]]を参照してください。 !!{{anchor Table Data Structures}}テーブル データ構造体 {{goto top,^TOP^}} !{{anchor TableAttrType}}TableAttrType 構造体 {{goto p0,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TableAttrType}} ビット フィールドはテーブルの可視特性を定義します。 //---- //{{span style='color:red;font-weight:bold', WARNING!!!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold', WARNING!!!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 visible:1; UInt16 editable:1; UInt16 editing:1; UInt16 selected:1; UInt16 hasScrollBar:1; UInt16 reserved:11; } TableAttrType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',visible}} **セットされている場合、テーブルはスクリーン上に描かれます。このフィールドの値は、{{goto TblDrawTable,TblDrawTable()}} でセットし、{{goto TblEraseTable,TblEraseTable()}} でクリアします。 *{{span style='color:blue;font-family:monospace;',editable}} **セットされている場合、ユーザはテーブルを変更できます。テーブル リソースを作成したときに、この値を指定してください。 *{{span style='color:blue;font-family:monospace;',editing}} **セットされている場合、テーブルは編集モードになっています。ユーザがテキスト アイテムを編集している間、テーブルは編集モードになります。このフィールドの値は {{goto TblEditing,TblEditing()}} によって返されます。 *{{span style='color:blue;font-family:monospace;',selected}} **セットされている場合、現在のアイテム({{goto TableType,TableType}} の {{span style='color:blue;font-family:monospace;',currentRow}} と {{span style='color:blue;font-family:monospace;',currentColumn}} フィールドによって特定されます)は選択されています。この値を調べるには {{goto TblGetSelection,TblGetSelection()}} を使用してください。 *{{span style='color:blue;font-family:monospace;',hasScrollBar}} **セットされている場合、テーブルはスクロール バーを持ちます。この属性はプログラム上でのみセットできるということに注意してください。{{goto TblHasScrollBar,TblHasScrollBar()}} を参照してください。 !{{anchor TableColumnAttrType}}TableColumnAttrType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TableColumnAttrType}} 構造体はテーブルの列を定義します。 //---- //{{span style='color:red;font-weight:bold', WARNING!!!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableColumnAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold', WARNING!!!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableColumnAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { Coord width; UInt16 reserved1 : 5; UInt16 masked : 1; UInt16 editIndicator : 1; UInt16 usable : 1; UInt16 reserved2 : 8; Coord spacing; TableDrawItemFuncPtr drawCallback; TableLoadDataFuncPtr loadDataCallback; TableSaveDataFuncPtr saveDataCallback; } TableColumnAttrType; コードは {{span style='color:blue;font-family:monospace;',TableColumnAttrType}} 構造体を実体のないものとして扱うべきです。以下の説明で指定される関数を使って、各値を調べ、セットしてください。構造体メンバの値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',width}} **ピクセル単位での列幅。{{goto TblGetColumnWidth,TblGetColumnWidth()}} と {{goto TblSetColumnWidth,TblSetColumnWidth()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',reserved1}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',masked}} **{{span style='color:blue;font-family:monospace;',true}} で アイテムの行の {{span style='color:blue;font-family:monospace;',masked}} 属性も {{span style='color:blue;font-family:monospace;',true}} の場合、そのテーブル セルはスクリーン上に描かれます、しかし、そのセルが保持している情報を(訳者注: 視覚的に)あいまいにするために陰影がつけられます(訳者注: 黒っぽく表示されるということ)。{{goto TblSetColumnMasked,TblSetColumnMasked()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',editIndecator}} **セットされている場合、編集モード中に選択された列のアイテムはハイライトされます。{{span style='color:blue;font-family:monospace;',false}} の場合、列のアイテムはハイライトされません。デフォルトでは、テキスト フィールド アイテムは編集モード中にハイライトされますが、他のすべてのアイテムはハイライトされません。デフォルトを {{goto TblSetColumnEditIndicator,TblSetColumnEditIndicator()}} で上書きすることができます。 *{{span style='color:blue;font-family:monospace;',usable}} **{{span style='color:blue;font-family:monospace;',false}} の場合、列はアプリケーションの現在のインターフェイスの一部とは見なされず、スクリーン上にも表示されません。{{goto TblSetColumnUsable,TblSetColumnUsable()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',reserved2}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',spacing}} **ピクセル単位でのこの列と次の列の間隔。{{goto TblGetColumnSpacing,TblGetColumnSpacing()}} と {{goto TblSetColumnSpacing,TblSetColumnSpacing()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',drawCallback}} **列のカスタム アイテムを描くために関数へのポインタ。この関数は、{{goto TblDrawTable,TblDrawTable()}} と {{goto TblRedrawTable,TblRedrawTable()}} の呼び出しの間に呼び出されます。{{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',loadDataCallback}} **データを列に読み込むための関数へのポインタ。この関数は、{{goto TblDrawTable,TblDrawTable()}} と {{goto TblRedrawTable,TblRedrawTable()}} の呼び出しの間に呼び出されます。{{goto TblSetLoadDataProcedure,TblSetLoadDataProcedure()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',saveDataCallback}} **列のデータを保存するための関数へのポインタ。あるテーブル セルから他のテーブル セルへとフォーカスが移動したときと、テーブルが完全にフォーカスを失ったときに呼び出されます。{{goto TblSetSaveDataProcedure,TblSetSaveDataProcedure()}} を参照してください。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、{{span style='color:blue;font-family:monospace;',masked}} フィールドが定義されます。 !{{anchor TableItemPtr}}TableItemPtr Typedef {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TableItemPtr}} は {{goto TableItemType,TableItemType}} を指します。 '''Prototype''' typedef TableItemType *TableItemPtr; !{{anchor TableItemType}}TableItemType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TableItemType}} 構造体は、テーブルのアイテムまたはセルを定義します。 //---- //{{span style='color:red;font-weight:bold', WARNING!!!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableItemType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold', WARNING!!!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableItemType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { TableItemStyleType itemType; FontID fontID; Int16 intValue; Char *ptr; } TableItemType; コードは {{span style='color:blue;font-family:monospace;',TableItemType}} 構造体を実体のないものとして扱うべきです。以下の説明で指定される関数を使って、各値を調べ、セットしてください。構造体メンバの値を直接変更しようとしてはいけません。 //---- //'''NOTE:''' テーブル アイテムは、明示的に解放する必要のあるメモリを作成することはありません。テーブル マネージャは、テーブル アイテムに対するすべてのメモリ割り当てと割り当て解除をハンドルします。明示的に解放しなければならない唯一のメモリは、編集可能なテキスト フィールドに表示されるテキストを保持しているメモリ ハンドルです。({{goto TableLoadDataFuncType,TableLoadDataFuncType()}} を参照してください。) //---- ::NOTE :::テーブル アイテムは、明示的に解放する必要のあるメモリを作成することはありません。テーブル マネージャは、テーブル アイテムに対するすべてのメモリ割り当てと割り当て解除をハンドルします。明示的に解放しなければならない唯一のメモリは、編集可能なテキスト フィールドに表示されるテキストを保持しているメモリ ハンドルです。({{goto TableLoadDataFuncType,TableLoadDataFuncType()}} を参照してください。) '''フィールド''' *{{span style='color:blue;font-family:monospace;',itemType}} **コントロール、テキスト ラベルなどのアイテムの型。{{goto TblSetItemStyle,TblSetItemStyle()}} がこの値をセットします。この構造体の残りのフィールドが使用されるか、使用されないかは、{{span style='color:blue;font-family:monospace;',itemType}} 次第です。{{goto 表 20.1,表 20.1}} を参照してください。 *{{span style='color:blue;font-family:monospace;',fontID}} **アイテムのテキストを表示するのに使用されるフォントの ID。{{goto TblGetItemFont,TblGetItemFont()}} と {{goto TblSetItemFont,TblSetItemFont()}} がこの値を調べ、セットします。 *{{span style='color:blue;font-family:monospace;',intValue}} **アイテムの整数値。{{goto TblGetItemInt,TblGetItemInt()}} と {{goto TblSetItemInt,TblSetItemInt()}} がこの値を調べ、セットします。 *{{span style='color:blue;font-family:monospace;',ptr}} **アイテムのテキストへのポインタ。{{goto TblGetItemPtr,TblGetItemPtr()}} と {{goto TblSetItemPtr,TblSetItemPtr()}} がこの値を調べ、セットします。 **すべてのテキスト アイテムの最大サイズは {{span style='color:blue;font-family:monospace;',tableMaxTextItemSize}} です。 以下の表は、{{span style='color:blue;font-family:monospace;',itemType}} フィールドの取り得る値を示し、各型がどのように描かれるのか説明し、各 {{span style='color:blue;font-family:monospace;',itemType}} に対して他のどのフィールドが使用されるのか説明し、それらのフィールドの設定に関する追加の説明を行います。特に、{{span style='color:blue;font-family:monospace;',fontID}} フィールドはしばしば使用されないことに注意してください。代わりに、いくつかのアイテムは標準フォントで表示されます。これらのことは、この表の最後の列に記述されています。 {{anchor 表 20.1}}'''表 20.1 TableItemType フィールド''' , '''ItemType''', '''Description''', '''使用される TableItemType フィールド''' , "{{span style='color:blue;font-family:monospace;',checkboxTableItem}}", チェックボックス コントロール, "{{span style='color:blue;font-family:monospace;',intValue}}" , "{{span style='color:blue;font-family:monospace;',customTableItem}}", アプリケーション定義セル。アイテムの高さは 11 ピクセルで固定です。, "ありません。カスタム アイテムは実装されたカスタム描画関数を使用して描かれます。{{goto TableDrawItemFuncType,TableDrawItemFuncType()}} を参照してください。必要があれば、{{span style='color:blue;font-family:monospace;',intValue}} と {{span style='color:blue;font-family:monospace;',ptr}} フィールドにデータを保存することができます。" , "{{span style='color:blue;font-family:monospace;',dateTableItem}}", 月/日形式の編集不可の日付、または、日付の値が -1 の場合はダッシュ「―」。日付が過去のものであれば、感嘆符が後に続きます。, "{{span style='color:blue;font-family:monospace;',intValue}}{{br}}{{span style='color:blue;font-family:monospace;',intValue}} フィールドは {{span style='color:blue;font-family:monospace;',DateType}} にキャスト可能な値であるべきです。{{span style='color:blue;font-family:monospace;',DateType}} は現在のところ 16 ビットの数として定義されています。{{span style='color:blue;font-family:monospace;',yyyyyyymmmmddddd}}。最初の 7 ビットは1904年からのオフセットとして与えられる年、次の 4 ビットは月、次の 5 ビットは日です。日付はいつでも現在のフォントで描かれます。" , "{{span style='color:blue;font-family:monospace;',labelTableItem}}", 編集不可のテキスト, "{{span style='color:blue;font-family:monospace;',ptr}}{{br}}ラベルはシステムのデフォルト フォントで最後に「:」を付けて表示されます。「:」を付けたくない場合は、{{span style='color:blue;font-family:monospace;',customTableItem}} または {{span style='color:blue;font-family:monospace;',tallCustomTableItem}} を使用してください。" , "{{span style='color:blue;font-family:monospace;',numericTableItem}}", 編集不可の数, "{{span style='color:blue;font-family:monospace;',intValue}}{{br}}システムのデフォルト ボールド フォントで表示される数。" , "{{span style='color:blue;font-family:monospace;',popupTriggerTableItem}}", ポップアップ トリガ付きのリスト, "{{span style='color:blue;font-family:monospace;',intValue}}{{br}}{{span style='color:blue;font-family:monospace;',ptr}}{{br}}{{span style='color:blue;font-family:monospace;',intValue}} は表示されるリスト アイテムのインデックスです。{{span style='color:blue;font-family:monospace;',ptr}} はリストへのポインタです。リストはシステムのデフォルト フォントで表示されます。" , "{{span style='color:blue;font-family:monospace;',tallCustomTableItem}}", "アプリケーション定義セル。アイテムの高さはそのアイテムが位置する行の高さと等しくなります。このテーブル アイテム型は Palm OS 4.0 で追加され、{{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が定義されている場合にのみサポートされます。", "ありません。カスタム アイテムは実装されたカスタム描画関数を使って描かれます。{{goto TableDrawItemFuncType,TableDrawItemFuncType()}} を参照してください。必要があれば、{{span style='color:blue;font-family:monospace;',intValue}} と {{span style='color:blue;font-family:monospace;',ptr}} フィールドにデータを保存することができます。" , "{{span style='color:blue;font-family:monospace;',textTableItem}}", 編集可能なテキスト フィールド, "{{span style='color:blue;font-family:monospace;',fontID}}{{br}}{{span style='color:blue;font-family:monospace;',ptr}}{{br}}このアイテム型に対して、テキストをテーブル セルに読み込むための {{goto TableLoadDataFuncType,TableLoadDataFuncType()}} コールバック関数を実装し、フィールドが解放される前にデータを保存するための {{goto TableSaveDataFuncType,TableSaveDataFuncType()}} コールバック関数を実装してください。" , "{{span style='color:blue;font-family:monospace;',textWithNoteTableItem}}", 編集可能なテキスト フィールドとテキストの右側に表示されるノート アイコン, "{{span style='color:blue;font-family:monospace;',fontID}}{{br}}{{span style='color:blue;font-family:monospace;',ptr}}{{br}}このアイテム型に対して、テキストをテーブル セルに読み込むための {{goto TableLoadDataFuncType,TableLoadDataFuncType()}} コールバック関数を実装し、フィールドが解放される前にデータを保存するための {{goto TableSaveDataFuncType,TableSaveDataFuncType()}} コールバック関数を実装してください。" , "{{span style='color:blue;font-family:monospace;',timeTableItem}}", 実装されていません, "" , "{{span style='color:blue;font-family:monospace;',narrowTextTableItem}}", セルの右側に予約された間隔を持つ編集可能なテキスト, "{{span style='color:blue;font-family:monospace;',fontID}}{{br}}{{span style='color:blue;font-family:monospace;',ptr}}{{br}}{{span style='color:blue;font-family:monospace;',intValue}}{{br}}{{span style='color:blue;font-family:monospace;',intValue}} はセルの右側に予約される間隔のピクセル数です。このアイテム型に対して、セルの右側に予約された間隔を描くための {{goto TableLoadDataFuncType,TableLoadDataFuncType()}} コールバック関数、テキストをテーブル セルに読み込むための {{goto TableLoadDataFuncType,TableLoadDataFuncType()}} コールバック関数、フィールドが解放される前にデータを保存するための {{goto TableSaveDataFuncType,TableSaveDataFuncType()}} コールバック関数を実装してください。" !{{anchor TablePtr}}TablePtr Typedef {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TabelPtr}} は、{{goto TableType,TableType}} へのポインタを定義します。 '''Prototype''' typedef TableType *TablePtr; テーブルのポインタを引数としてすべてのテーブル関数に渡します。以下に示す方法で、{{goto FrmGetObjectPtr,FrmGetObjectPtr()|Palm OS Programmer's API Reference/11-1}} 関数を用いてテーブルのポインタを取得できます。 tblPtr = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, tblID)); {{span style='color:blue;font-family:monospace;',tblID}} は、テーブル作成時に割り当てられたリソース ID です。 !{{anchor TableRowAttrType}}TableRowAttrType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TableRowAttrType}} 構造体はテーブルの行を定義します。 //---- //{{span style='color:red;font-weight:bold', WARNING!!!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableRowAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold', WARNING!!!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableRowAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 id; Coord height; UInt32 data; UInt16 reserved1 : 7; UInt16 usable : 1; UInt16 reserved2 : 4; UInt16 masked : 1; UInt16 invalid : 1; UInt16 staticHeight : 1; UInt16 selectable : 1; UInt16 reserved3; } TableRowAttrType; コードは {{span style='color:blue;font-family:monospace;',TableRowAttrType}} 構造体を実体のないものとして扱うべきです。以下の説明で指定される関数を使って、各値を調べ、セットしてください。構造体メンバの値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **この行の ID。{{goto TblFindRowID,TblFindRowID()}}, {{goto TblGetRowID,TblGetRowID()}}, それに {{goto TblSetRow,TblSetRowID()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',height}} **ピクセル単位での行の高さ。関数 {{goto TblSetRowHeight,TblSetRowHeight()}} と {{goto TblGetRowHeight,TblGetRowHeight()}} がこの値をセットし、調べます。 *{{span style='color:blue;font-family:monospace;',data}} **この行に保存するすべてのアプリケーション特有の値。例えば、予定表と ToDo アプリケーションはこのフィールドを、このテーブルの行に表示されるデータベース レコードの固有 ID を保存するのに、使用しています。{{goto TblFindRowData,TblFindRowData()}}, {{goto TblGetRowData,TblGetRowData()}}, それに {{goto TblSetRowData,TblSetRowData()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',reserved1}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',usable}} **{{span style='color:blue;font-family:monospace;',false}} の場合、行はアプリケーションの現在のインターフェイスの一部と見なされず、スクリーンにも表示されません。スクロールして行がスクリーンの外に出てしますと、{{span style='color:blue;font-family:monospace;',usable}} は {{span style='color:blue;font-family:monospace;',false}} にセットされます。{{goto TblRowUsable,TblRowUsable()}} と {{goto TblSetRowUsable,TblSetRowUsable()}} を参照してください。関数 {{goto TblGetLastUsableRow,TblGetLastUsableRow()}} はスクリーン上の最下段に表示される行を返します。 *{{span style='color:blue;font-family:monospace;',masked}} **{{span style='color:blue;font-family:monospace;',true}} で アイテムの列の {{span style='color:blue;font-family:monospace;',masked}} も {{span style='color:blue;font-family:monospace;',true}} の場合、テーブル セルはスクリーンに表示されますが、そのセルが保持している情報をぼかすために陰影(訳者注: 黒っぽくする)が付けられます。{{goto TblSetRowMasked,TblSetRowMasked()}} と {{goto TblRowMasked,TblRowMasked()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',reserved2}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',invalid}} **{{span style='color:blue;font-family:monospace;',true}} の場合、行は再描画される必要があります。{{goto TblRowInvalid,TblRowInvalid()}}, {{goto TblMarkRowInvalid,TblMarkRowInvalid()}}, それに {{goto TblMarkTableInvalid,TblMarkTableInvalid()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',staticHeight}} **行の高さを変更できない場合、{{span style='color:blue;font-family:monospace;',true}}、そうでない場合、{{span style='color:blue;font-family:monospace;',false}} です。{{span style='color:blue;font-family:monospace;',false}} の場合、このテーブル行にあるテキスト フィールドは必要に合わせて複数行に動的にリサイズされます。{{goto TblSetRowStaticHeight,TblSetRowStaticHeight()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',selectable}} **{{span style='color:blue;font-family:monospace;',true}} の場合、ユーザはこの行の各セルを選択することができます。{{goto TblSetRowSelectable,TblSetRowSelectable()}} と {{goto TblRowSelectable,TblRowSelectable()}} を参照してください。 *{{span style='color:blue;font-family:monospace;',reserved3}} **将来使用するために予約されています。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、{{span style='color:blue;font-family:monospace;',masked}} フィールドが定義されます。 !{{anchor TableType}}TableType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',TableType}} 構造体はテーブルを表します。 //---- //{{span style='color:red;font-weight:bold', WARNING!!!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold', WARNING!!!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',TableType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコード将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct TableType { UInt16 id; RectangleType bounds; TableAttrType attr; Int16 numColumns; Int16 numRows; Int16 currentRow; Int16 currentColumn; Int16 topRow; TableColumnAttrType *columnAttrs; TableRowAttrType *rowAttrs; TableItemPtr items; FieldType currentField; } TableType; コードは {{span style='color:blue;font-family:monospace;',TableType}} 構造体を実体のないものとして扱うべきです。以下の説明で指定される関数を使って、各値を調べ、セットしてください。構造体メンバの値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **テーブル リソースの作成時に指定される ID 値。この ID は {{goto tblEnterEvent,tblEnterEvent|Palm OS Programmer's API Reference/2}} のイベント データの一部として含まれます。 *{{span style='color:blue;font-family:monospace;',bounds}} **テーブル オブジェクトの位置とサイズ。関数 {{goto TblGetBounds,TblGetBounds()}}, {{goto FrmGetObjectBounds,FrmGetObjectBounds()|Palm OS Programmer's API Reference/11-1}}, {{goto TblSetBounds,TblSetBounds()}}, それに {{goto FrmSetObjectBounds,FrmSetObjectBounds()|Palm OS Programmer's API Reference/11-2}} がこの値を調べ、セットします。 *{{span style='color:blue;font-family:monospace;',attr}} **テーブルの属性。{{goto TableAttrType,TableAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',numColumns}} **テーブル オブジェクトによって表示される列数。テーブル リソースの作成時に列数を指定し、その後、この値を変更することはできません。{{goto TblGetNumberOfColumns,TblGetNumberOfColumns()}} でこの値にアクセスします。 *{{span style='color:blue;font-family:monospace;',numRows}} **テーブル オブジェクトの可視行の最大数。テーブル リソース作成時にこの値を指定し、その後、この値を変更することはできません。しかしながら、テーブルに新しい行を追加することで、テーブルの総行数を変更することはでき、さらに、テーブル セルのテキスト フィールドが動的にリサイズされることで、現在の可視行数が変更されることさえありえます。関数 {{goto TblGetNumberOfRows,TblGetNumberOfRows()}} がこのフィールドの値を返します。 *{{span style='color:blue;font-family:monospace;',currentRow}} **現在選択されているテーブル セルの行インデックス。行は最上段から最下段まで、0 から数えられます。{{goto TblGetSelection,TblGetSelection()}} と {{goto TblSetSelection,TblSetSelection()}} が {{span style='color:blue;font-family:monospace;',currentRow}} の値を調べ、セットします。 *{{span style='color:blue;font-family:monospace;',currentColumn}} **現在選択されているテーブル セルの列インデックス。列は左から右まで、0 から数えられます。{{goto TableAttrType,TableAttrType}} の {{span style='color:blue;font-family:monospace;',selected}} が {{span style='color:blue;font-family:monospace;',true}} の場合、このテーブル セルはハイライトされます。{{span style='color:blue;font-family:monospace;',selected}} が {{span style='color:blue;font-family:monospace;',false}} の場合、テーブルがセルを現在選択されているアイテムだと見なしても、そのセルはハイライトされません。{{goto TblGetSelection,TblGetSelection()}} と {{goto TblSetSelection,TblSetSelection()}} が {{span style='color:blue;font-family:monospace;',currentColumn}} の値を調べ、セットします。 *{{span style='color:blue;font-family:monospace;',topRow}} **テーブル オブジェクトの最初の可視行・{{goto TblGetTopRow,TblGetTopRow()}} でこの値にアクセスします。 *{{span style='color:blue;font-family:monospace;',columnAttrs}} **各テーブル列の属性の配列。{{goto TableColumnAttrType,TableColumnAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',rowAttrs}} **ID、高さ、使用可能かどうか、選択可能かどうか、有効かどうかなどの各行の属性の配列。{{goto TableRowAttrType,TableRowAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',items}} **アイテムの型、フォント ID、整数値、文字列へのポインタなどの各アイテム(各セル)の属性の配列。{{goto TableItemType,TableItemType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',currentField}} **ユーザが現在編集しているフィールド オブジェクト。関数 {{goto TblGetCurrentField,TblGetCurrentField()}} がこのアイテムの値を調べます。 !!{{anchor Table Constants}}テーブル定数 {{goto top,^TOP^}} , 定数, 値, 説明 , "{{span style='color:blue;font-family:monospace;',tableDefaultColumnSpacing}}", 1, 使用されません。 , "{{span style='color:blue;font-family:monospace;',tableNoteIndicatorHeight}}", 11, "{{span style='color:blue;font-family:monospace;',textWithNoteTableItem}} 型のテーブル アイテムのためのノート指示子の高さをピクセル単位で。" , "{{span style='color:blue;font-family:monospace;',tableNoteIndicatorWidth}}", 7, "{{span style='color:blue;font-family:monospace;',textWithNoteTableItem}} 型のテーブル アイテムのためのノート指示子の幅をピクセル単位で。" , "{{span style='color:blue;font-family:monospace;',tableMaxTextItemSize}}", 255, テーブル セルの編集可能なテキスト フィールドの最大長 , "{{span style='color:blue;font-family:monospace;',tblUnusableRow}}", 0xffff, "テーブルのすべての行が使用可能ではない場合に {{goto TblGetLastUsableRow,TblGetLastUsableRow()}} によって返される値。この値は、バージョン 3.5 以降でのみ使用可能です。" !!{{anchor Table Resources}}テーブル リソース {{goto top,^TOP^}} テーブル リソース(tTBL)はスクリーン上のテーブルを表します。詳細は、''Palm OS User Interface Guidelines'' を参照してください。 !!{{anchor Table Functions}}テーブル関数 {{goto top,^TOP^}} !{{anchor TblDrawTable}}TblDrawTable 関数 {{goto top,^TOP}} '''目的''' テーブルを描きます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblDrawTable ( TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' この関数は、フォームがテーブル オブジェクトを含む場合に、{{goto FrmDrawForm,FrmDrawForm()|Palm OS Programmer's API Reference/11-1}} の一部として呼び出されます。 この関数は、描く前にすべての行を有効であるとマークし(訳者注: {{goto TableRowAttrType,TableRowAttrType}} の{{span style='color:blue;font-family:monospace;',invalid}} を {{span style='color:blue;font-family:monospace;',false}} にするという意味)、テーブル全体を描きます。テーブル セルの各型がどのように描かれるのかについての追加情報を説明している {{goto TableItemType,TableItemType}} 構造体を参照してください。 編集可能なテキスト フィールド({{span style='color:blue;font-family:monospace;',textTableItem}}, {{span style='color:blue;font-family:monospace;',textWithNoteTableItem}}, または {{span style='color:blue;font-family:monospace;',narrowTextTableItem}})を持つセルを描くとき、この関数はテキストをテーブル セルに読み込むために {{goto TableLoadDataFuncType,TableLoadDataFuncType()}} コールバック関数を使用します。テキスト フィールドは {{span style='color:blue;font-family:monospace;',TableLoadDataFuncType}}(訳者注: 原文では {{span style='color:blue;font-family:monospace;',TableLoadDataFunc}} だが、誤りであろう)が返すテキスト ハンドルを保有しません。つまり、コードはテーブルに読み込んだメモリを解放する責任があるということです。 {{span style='color:blue;font-family:monospace;',narrowTextTableItem}} セル、{{span style='color:blue;font-family:monospace;',customTableItem}} セル、または {{span style='color:blue;font-family:monospace;',tallCustomTableItem}} セルを描くとき、この関数はテキストの後に余分のピクセルを描くため、またはセル全体を描くために {{goto TableDrawItemFuncType,TableDrawItemFuncType()}} コールバック関数を使用します。 カラー対応のシステムでは、テーブルはいつでもフィールド背景色と同じ色で描かれます。 ユーザがプライベート レコードをマスクするためにセキュリティ設定をしている場合、プライベート データベース レコードを保持するテーブル セルは、それらが保持する情報をぼかすために、陰影付き(黒っぽくする)のセルとして描かれます。{{goto TblSetRowMasked,TblSetRowMasked()}} と {{goto TblSetColumnMasked,TblSetColumnMasked()}} を適切に呼び出すことで、テーブルにどのセルがマスクされるのかを明確に指示しなくてはなりません。 '''互換性''' カラー対応とプライベート レコードのマスクは Palm OS バージョン 3.5 以降でのみサポートされます。 3.5 よりも前のバージョンでは、この関数は、テーブル セルを描く前に、テーブル セルを消しませんでした。以前のリリースでは、特にテーブル全体が変更される場合には、この関数の呼び出し前に、{{goto TblEraseTable,TblEraseTable()}} を呼び出すべきと考えられていました。白い背景の上に描く視覚効果がより好ましいと考えられていたかもしれない頃のことです。 '''参照''' {{goto TblEraseTable,TblEraseTable()}}, {{goto TblRedrawTable,TblRedrawTable()}}, {{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure()}} !{{anchor TblEditing}}TblEditing 関数 {{goto top,^TOP^}} '''目的''' テーブルが編集モードかどうかをチェックします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblEditing ( const TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' テーブルが編集モードであれば {{span style='color:blue;font-family:monospace;',true}} を返します。そうでなければ {{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' ユーザがテキスト アイテムを編集している間、テーブルは編集モードです。より特別な場合としては、編集可能なテーブル セル({{span style='color:blue;font-family:monospace;',textTableItem}}, {{span style='color:blue;font-family:monospace;',textWithNoteTableItem}}, または {{span style='color:blue;font-family:monospace;',narrowTextTableItem}})上で {{goto tblEnterEvent,tblEnterEvent|Palm OS Programmer's API Reference/2}} が発生したとき、または、{{goto TblGrabFocus,TblFrabFocus()}} が呼び出されるとき、テーブルは編集モードです。 ユーザがペンを {{span style='color:blue;font-family:monospace;',textWithNoteTableItem}} 中のノート上にペンを移動させたとき、または、テーブルがフォーカスを解放した({{goto TblReleaseFocus,TblReleaseFocus()}})とき、テーブルは編集モードから抜け出します。 !{{anchor TblEraseTable}}TblEraseTable 関数 {{goto top,^TOP^}} '''目的''' テーブル オブジェクトを消去します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblEraseTable ( TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' この関数はテーブルの {{span style='color:blue;font-family:monospace;',visible}} と {{span style='color:blue;font-family:monospace;',selected}} 属性を {{span style='color:blue;font-family:monospace;',false}} にセットします。この関数はテーブル行を無効化しません。 '''参照''' {{goto TblDrawTable,TblDrawTable()}}, {{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure()}}, {{goto TblRedrawTable,TblRedrawTable()}} !{{anchor TblFindRowData}}TblFindRowData 関数 {{goto top,^TOP^}} '''目的''' 指定されたデータ値を保持している行数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblFindRowData ( const TableType *tableP, UInt32 data, Int16 *rowP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ data}} **探す行データ *{{span style='color:blue;font-family:monospace;',← rowP}} **行数へのポインタ(返り値) '''返り値''' 一致するものがあれば、{{span style='color:blue;font-family:monospace;',true}} を返します。そうでない場合は、{{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' この関数は指定されたデータを保持している属性を持つ行を探します。データは {{goto TblSetRowData,TblSetRowData()}} でセットされたアプリケーション特有のデータのいずれかです。 '''参照''' {{goto TblGetRowData,TblGetRowData()}}, {{goto TblFindRowID,TblFindRowID()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblFindRowID}}TblFindRowID 関数 {{goto top,^TOP^}} '''目的''' 指定された ID を持つ行の数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblFindRowID ( const TableType *tableP, UInt16 id, Int16 *rowP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ id}} **探す行 ID *{{span style='color:blue;font-family:monospace;',← rowP}} **行数へのポインタ(返り値) '''返り値''' 一致するものがあれば、{{span style='color:blue;font-family:monospace;',true}} を返します。そうでない場合は、{{span style='color:blue;font-family:monospace;',false}} を返します。 '''参照''' {{goto TblSetRowID,TblSetRowID()}}, {{goto TblFindRowData,TblFindRowData()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblGetBounds}}TblGetBounds 関数 {{goto top,^TOP^}} '''目的''' テーブルの領域を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblGetBounds ( const TableType *tableP, RectangleType *rP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',← rP}} **返される領域を収めている {{span style='color:blue;font-family:monospace;',RectangleType}} 構造体 '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',rP}} パラメータが領域を保持しています。 '''参照''' {{goto TblGetItemBounds,TblGetItemBounds()}} !{{anchor TblGetColumnSpacing}}TblGetColumnSpacing 関数 {{goto top,^TOP^}} '''目的''' 指定された列の後の間隔を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Coord TblGetColumnSpacing( const TableType *tableP, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) '''返り値''' 列の後の間隔をピクセル単位で返します。 この関数は、{{span style='color:blue;font-family:monospace;',column}} パラメータが無効な場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetColumnWidth,TblGetColumnWidth()}}, {{goto TblSetColumnSpacing,TblSetColumnSpacing()}}, {{goto TblSetColumnUsable,TblSetColumnUsable()}} !{{anchor TblGetColumnWidth}}TblGetColumnWidth 関数 {{goto top,^TOP^}} '''目的''' 指定された列の幅を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Coord TblGetColumnWidth ( const TableType *tableP, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) '''返り値''' 列の幅をピクセル単位で返します。 この関数は、{{span style='color:blue;font-family:monospace;',column}} パラメータが無効な場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetColumnSpacing,TblGetColumnSpacing()}}, {{goto TblSetColumnWidth,TblSetColumnWidth()}}, {{goto TblSetColumnUsable,TblSetColumnUsable()}} !{{anchor TblGetCurrentField}}TblGetCurrentField 関数 {{goto top,^TOP^}} '''目的''' ユーザが現在テキスト アイテムを編集している場所である {{goto FieldType,FieldType}} へのポインタを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' FieldPtr TblGetCurrentField( const TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 現在選択されているフィールドへのポインタを返します。テーブルが編集モードではない場合、{{span style='color:blue;font-family:monospace;',false}} を返します。 '''参照''' {{goto TblGetSelection,TblGetSelection()}} !{{anchor TblGetItemBounds}}TblGetItemBounds 関数 {{goto top,^TOP^}} '''目的''' テーブルにあるアイテムの領域を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblGetItemBounds ( const TableType *tableP, Int16 row, Int16 column, RectangleType *rP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',← rP}} **アイテムの領域を保持している構造体へのポインタ '''返り値''' 返り値はありません。{{span style='color:blue;font-family:monospace;',rP}} に領域を保存します。この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータがスクリーン上に表示されていない行または列を指定すると、致命的な例外を引き起こすかもしれません。 !{{anchor TblGetItemFont}}TblGetItemFont 関数 {{goto top,^TOP^}} '''目的''' テーブル アイテムを表示するのに使用されるフォントを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' FontID TblGetItemFont ( const TableType *tableP, Int16 row, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) '''返り値''' {{span style='color:blue;font-family:monospace;',row}} と {{span style='color:blue;font-family:monospace;',column}} で指示されたテーブル アイテムのために使用されているフォントの ID を返します。この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータがスクリーン上に表示されていない行または列を指定した場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' この関数は、指定されたテーブル アイテムの {{span style='color:blue;font-family:monospace;',fontID}} フィールドに保存されている値を返します。テーブル アイテムの特定の型のみが、表示されるときに、 {{span style='color:blue;font-family:monospace;',fontID}} フィールドで指定されるフォントを使用します。{{goto TableItemType,TableItemType}} でテーブル アイテムの各型を表示するために使用されるフォントの指定について説明されています。 '''互換性''' {{goto 3.0 New Feature Set,3.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto TblSetItemFont,TblSetItemFont()}} !{{anchor TblGetItemInt}}TblGetItemInt 関数 {{goto top,^TOP^}} '''目的''' テーブル アイテムに保存されている整数値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Int16 TblGetItemInt ( const TableType *tableP, Int16 row, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) '''返り値''' 整数値を返します。この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータがスクリーン上に表示されていない行または列を指定した場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' この関数は、指定されたテーブル アイテムの {{span style='color:blue;font-family:monospace;',intValue}} フィールドに保存されている値を返します。テーブル アイテムの特定の型は、{{span style='color:blue;font-family:monospace;',intValue}} フィールドに保存されている値を表示し、他の型は {{span style='color:blue;font-family:monospace;',ptr}} フィールドが指す値を表示します。 詳細は、{{goto TableItemType,TableItemType}} を参照してください。テーブル アイテムに {{span style='color:blue;font-family:monospace;',intValue}} がセットされていない場合、この関数は 0 を返します。 '''参照''' {{goto TblSetItemInt,TblSetItemInt()}}, {{goto TblGetItemPtr,TblGetItemPtr()}} !{{anchor TblGetItemPtr}}TblGetItemPtr 関数 {{goto top,^TOP^}} '''目的''' テーブル アイテムに保存されているポインタ値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void *TblGetItemPtr ( const TableType *tableP, Int16 row, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) '''返り値''' アイテムのポインタ値を返します。アイテムがポインタ値を持たない場合は、{{span style='color:blue;font-family:monospace;',NULL}} を返します。この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータが無効な場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' この関数は、指定されたテーブル アイテムの {{span style='color:blue;font-family:monospace;',ptr}} フィールドに保存されている値を返します。テーブル アイテムの特定の型は、{{span style='color:blue;font-family:monospace;',ptr}} フィールドが指す値を表示し、他の型は {{span style='color:blue;font-family:monospace;',intValue}} フィールドに保存されている値を表示します。詳細は、{{goto TableItemType,TableItemType}} を参照してください。アプリケーションの中には、{{span style='color:blue;font-family:monospace;',intValue}} を使う型に対してさえ、とにかく {{span style='color:blue;font-family:monospace;',ptr}} フィールドの値をセットするものがあるかもしれません。この関数は常に {{span style='color:blue;font-family:monospace;',ptr}} に保存されている値を返します。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。それより前のバージョンでは、この関数を以下のコードを使って実装できます。 return tableP->items[row * tableP->numColumns + column].ptr; '''参照''' {{goto TblSetItemPtr,TblSetItemPtr()}} !{{anchor TblGetLastUsableRow}}TblGetLastUsableRow {{goto top,^TOP^}} '''目的''' 使用可能(可視)なテーブルにある最後の行を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Int16 TblGetLastUsableRow( const TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 行インデックス(0 ベース)を返します。使用可能な行が無い場合、{{span style='color:blue;font-family:monospace;',tblUnusableRow}} を返します。 '''参照''' {{goto TblGetRowData,TblGetRowData()}}, {{goto TblGetRowID,TblGetRowID()}} !{{anchor TblGetNumberOfColumns}}TblGetNumberOfColumns 関数 {{goto top,^TOP^}} '''目的''' テーブルにある列の数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Int16 TblGetNumberOfColumns( const TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' この関数はテーブルにある列の数を返します。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。それより前のバージョンの Palm OS のためのコードでこの関数を使用するには、PalmOSGlue ライブラリにリンクして {{span style='color:blue;font-family:monospace;',TblGlueNumberOfColumns}} を呼び出してください。追加情報は、{{goto PalmOSGlue ライブラリ,80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80}} を参照してください。 '''参照''' {{goto TblGetTopRow,TblGetTopRow()}}, {{goto TblSetSelection,TblSetSelection()}} !{{anchor TblGetNumberOfRows}}TblGetNumberOfRows 関数 {{goto top,^TOP^}} '''目的''' テーブルにある行の数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Int16 TblGetNumberOfRows( const TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 指定されたテーブル中の可視行の最大数を返します。 '''コメント''' 例えもし、テーブルに行を追加したり、行を削除しても、この関数で返される値は変化しないことに注意してください。この関数で返される値は、スクリーン上に一度に表示することができる行の最大数を示します。テーブル リソース作成時にこの値はセットされます。 !{{anchor TblGetRowData}}TblGetRowData 関数 {{goto top,^TOP^}} '''目的''' 指定された行のデータ値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' UInt32 TblGetRowData ( const TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' 指定された行に対して保存されたアプリケーション特有のデータ(が、もしあれば)を返します。アプリケーション特有の値が無い場合、0 を返します。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効の場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblFindRowData,TblFindRowData()}}, {{goto TblSetRowData,TblSetRowData()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblGetRowHeight}}TblGetRowHeight 関数 {{goto top,^TOP^}} '''目的''' 指定された行の高さを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Coord TblGetRowHeight ( const TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' ピクセル単位での高さを返します。この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効の場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetItemBounds,TblGetItemBounds()}}, {{goto TblSetRowHeight,TblSetRowHeight()}} !{{anchor TblGetRowID}}TblGetRowID 関数 {{goto top,^TOP^}} '''目的''' 指定された行の ID 値を返します。 '''Prototype''' UInt16 TblGetRowID ( const TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' テーブルにある行の ID 値を返します。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効の場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetRowData,TblGetRowData()}}, {{goto TblSetRowID,TblSetRowID()}}, {{goto TblFindRowID,TblFindRowID()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblGetSelection}}TblGetSelection 関数 {{goto top,^TOP^}} '''目的''' 現在選択されているテーブル アイテムの行と列を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblGetSelection ( const TableType *tableP, Int16 *rowP, Int16 *columnP ) *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',← rowP, columnP}} **現在選択されているアイテムの行と列のインデックス(0 ベース) '''返り値''' アイテムがハイライトされている場合、{{span style='color:blue;font-family:monospace;',true}} を返します。そうでない場合、{{span style='color:blue;font-family:monospace;',false}} を返します。 '''参照''' {{goto TblSetRowSelectable,TblSetRowSelectable()}} !{{anchor TblGetTopRow}}TblGetTopRow 関数 {{goto top,^TOP^}} '''目的''' テーブルの可視行で最上段にある行を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Int16 TblGetTopRow( const TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' この関数は、テーブルにある最上段の可視行を返します。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。それより前のバージョンの Palm OS のためのコードでこの関数を使用するには、PalmOSGlue ライブラリにリンクして {{span style='color:blue;font-family:monospace;',TblGlueGetToRow}} を呼び出してください。追加情報は、{{goto PalmOSGlue ライブラリ,80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80}} を参照してください。 '''参照''' {{goto TblGetNumberOfColumns,TblGetNumberOfColumns()}}, {{goto TblSetSelection,TblSetSelection()}} !{{anchor TblGrabFocus}}TblGrabFocus 関数 {{goto top,^TOP^}} '''目的''' テーブルを編集モードにします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblGrabFocus ( TableType *tableP, Int16 row, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **編集される現在の行(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **編集される現在の列(0 ベース) '''返り値''' 返り値はありません。この関数は、テーブルがすでにフォーカスされている場合、または、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータが無効の場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' この関数はテーブルを編集モードにし、渡された行と列にあるアイテムを現在のアイテムにします。この関数に渡される座標には、編集可能なフィールドが存在していなくてはなりません。 この関数を呼び出す前に、{{goto FrmSetFocus,FrmSetFocus()|Palm OS Programmer's API Reference/11-2}} を呼び出さなくてはなりません。{{span style='color:blue;font-family:monospace;',FrmSetFocus}} は、以前フォーカスされていたオブジェクトからフォーカスを解放し、フォームの内部構造体をセットします。{{span style='color:blue;font-family:monospace;',TblGrabFocus}} を呼び出した後に、フィールドに挿入ポイントを表示するために {{goto FldGrabFocus,FldGrabFocus()|Palm OS Programmer's API Reference/9}} を呼び出さなくてはなりません。(フィールドへのポインタを取得するために {{goto TblGetCurrentField,TblGetCurrentField()}} を使用できます。) 例えば、以下に示すアドレス帳アプリケーションの関数は、テーブルにある編集可能なフィールドにフォーカスをセットします。 static void EditViewRestoreEditState () { Int16 row; FormPtr frm; TablePtr table; FieldPtr fld; if (CurrentFieldIndex == noFieldIndex) return; // Find the row that the current field is in. table = GetObjectPtr (EditTable); if ( ! TblFindRowID (table, CurrentFieldIndex, &row) ) return; frm = FrmGetActiveForm (); FrmSetFocus (frm, FrmGetObjectIndex (frm, EditTable)); TblGrabFocus (table, row, editDataColumn); // Restore the insertion point position. fld = TblGetCurrentField (table); FldSetInsPtPosition (fld, EditFieldPosition); FldGrabFocus (fld); } '''参照''' {{goto TblReleaseFocus,TblReleaseFocus()}} !{{anchor TblHandleEvent}}TblHandleEvent 関数 {{goto top,^TOP^}} '''目的''' テーブルのイベントをハンドルします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblHandleEvent ( TableType *tableP, EventType *event ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ event}} **ハンドルされるイベント '''返り値''' イベントがハンドルされれば {{span style='color:blue;font-family:monospace;',true}} を返します。そうでない場合は {{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' テーブルが編集可能なテーブルでない場合、{{span style='color:blue;font-family:monospace;',false}} を返します。 テーブルが編集可能な場合、この関数は、{{goto keyDownEvent,keyDownEvent|Palm OS Programmer's API Reference/2}}, {{goto fldEnterEvent,fldEnterEvent|Palm OS Programmer's API Reference/2}}, {{goto menuCmdBarOpenEvent,menuCmdBarOpenEvent|Palm OS Programmer's API Reference/2}} のいずれかを現在選択されているフィールドに渡します。 {{goto fldHeightChangeEvent,fldHeightChangeEvent|Palm OS Programmer's API Reference/2}} が起きた場合、この関数は指定されたフィールドの高さを、イベントの指示に合わせて、変更します。リサイズされているフィールドがスクリーンより下へスクロールしようとするなら、代わりにテーブルがそのフィールドより上の行をスクリーンより上へスクロールさせます。そうでなければ、テーブルは下方向へスクロールされ、現在の行より下にある行は必要に合わせてスクリーンより下へスクロールされます。 {{span style='color:blue;font-family:monospace;',fldHeightChangeEvent}} は、動的にサイズが変更されるフィールドに対してのみハンドルされるということに注意してください。追加情報は、{{goto FieldAttrType,FieldAttrType|Palm OS Programmer's API Reference/9}} と {{goto FldMakeFullyVisible,FldMakeFullyVisible()|Palm OS Programmer's API Reference/9}} を参照してください。 {{goto penDownEvent,penDownEvent|Palm OS Programmer's API Reference/2}} が起こると、テーブルはフォーカスが変更されるかどうかをチェックします。変更される場合で、かつ、ユーザがイベント前にテーブルのテキスト フィールドを編集していた場合、テーブルは {{goto TableSaveDataFuncType,TableSaveDataFuncType()}} コールバック関数を使ってテーブル セルのデータを保存し、それから選択された新しい行と列を持つ {{goto tblEnterEvent,tblEnterEvent|Palm OS Programmer's API Reference/2}} をキューに追加します。 {{goto tblEnterEvent,tblEnterEvent|Palm OS Programmer's API Reference/2}} が起こると、この関数はペンが持ち上げられるまでペンを追跡します。ペンが接触し始めたアイテムの領域内でペンが持ち上げられる場合、{{goto tblSelectEvent,tblSelectEvent|Palm OS Programmer's API Reference/2}} がイベント キューに追加されます。そうでない場合、{{goto tblExitEvent,tblExitEvent|Palm OS Programmer's API Reference/2}} がイベント キューに追加されます。 !{{anchor TblHasScrollBar}}TblHasScrollBar 関数 {{goto top,^TOP^}} '''目的''' テーブルの {{span style='color:blue;font-family:monospace;',hasScrollBar}} 属性をセットします。({{goto TableAttrType,TableAttrType}} を参照してください。) '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblHasScrollBar ( TableType *tableP, Boolean hasScrollBar ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ hasScrollBar}} **属性をセットする場合は {{span style='color:blue;font-family:monospace;',true}}、セットを解除する場合は {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 '''コメント''' アプリケーション自身がテーブルをスクロールさせ、スクロール値を追跡し続けなければなりません。テーブルのためのスクロール バー値をセットする例として、メモ帳アプリケーションの {{span style='color:blue;font-family:monospace;',ListViewUpdateScrollers}} 関数({{span style='color:blue;font-family:monospace;',MemoMain.c}})を参照してください。 '''互換性''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor TblInsertRow}}TblInsertRow 関数 {{goto top,^TOP^}} '''目的''' テーブルの指定された行の前に行を挿入します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblInsertRow ( TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **挿入する行(0 ベース) '''返り値''' 返り値はありません。 '''コメント''' テーブルの行数は、スクリーン上に表示される行の最大数になります。複数行のテキスト フィールドとは異なり、利用可能なスクリーンよりも大きなテーブルという概念はまったくありません。そのため、この関数はテーブルの行数を増やすことはしません。 テーブルの行の総数とスクリーン上に表示される行の数を追跡し続ける代わりに、テーブルは現在表示されていないすべての行に {{span style='color:blue;font-family:monospace;',false}} の値の {{span style='color:blue;font-family:monospace;',usable}} を付加します。({{goto TableRowAttrType,TableRowAttrType}} を参照してください。) 新たに挿入された行は、無効で、利用不可で、マスクされていません。新たに挿入された行を表示するには、その行が値を表示することを確認した後に {{goto TblSetRowUsable,TblSetRowUsable()}} を呼び出し、それから、テーブルがすでに描かれている場合は {{goto TblRedrawTable,TblRedrawTable()}} を呼び出します。 '''参照''' {{goto TblRemoveRow,TblRemoveRow()}}, {{goto TblSetRowUsable,TblSetRowUsable()}}, {{goto TblSetRowSelectable,TblSetRowSelectable()}} !{{anchor TblMarkRowInvalid}}TblMarkRowInvalid 関数 {{goto top,^TOP^}} '''目的''' 行に無効であるというマークを付けます。(訳者注: {{goto TableRowAttrType,TableRowAttrType}} の {{span style='color:blue;font-family:monospace;',invalid}} を {{span style='color:blue;font-family:monospace;',true}} にします。) '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblMarkRowInvalid ( TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' 返り値はありません。 '''コメント''' この関数を呼び出した後、無効のマークを付けられたすべての行を再描画するために {{goto TblRedrawTable,TblRedrawTable()}} を呼び出してください。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効な場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblRemoveRow,TblRemoveRow()}}, {{goto TblSetRowUsable,TblSetRowUsable()}}, {{goto TblSetRowSelectable,TblSetRowSelectable()}}, {{goto TblMarkTableInvalid,TblMarkTableInvalid()}}, {{goto TblRowInvalid,TblRowInvalid()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblMarkTableInvalid}}TblMarkTableInvalid 関数 {{goto top,^TOP^}} '''目的''' テーブルのすべての行に無効であるというマークを付けます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblMarkTableInvalid ( TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' この関数を呼び出した後、すべての行を再描画するために {{goto TblRedrawTable,TblRedrawTable()}} を呼び出さなくてはなりません。 '''参照''' {{goto TblEraseTable,TblEraseTable()}}, {{goto TblRedrawTable,TblRedrawTable()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblRedrawTable}}TblRedrawTable 関数 {{goto top,^TOP^}} '''目的''' テーブルの無効であるというマークを付けられた行を再描画します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblRedrawTable ( TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' この関数はテーブルにある無効な行を描きます。テーブル セルの各型がどのように描かれるのかについての追加情報は、{{goto TableItemType,TableItemType}} 構造体の説明を参照してください。 編集可能なテキスト フィールド({{span style='color:blue;font-family:monospace;',textTableItem}}, {{span style='color:blue;font-family:monospace;',textWithNoteTableItem}}, それに {{span style='color:blue;font-family:monospace;',narrowTextTableItem}})を持つセルと描くとき、この関数は、テキストをテーブル セルに読み込むために、{{goto TableLoadDataFuncType,TableLoadDataFuncType()}} コールバック関数を使用します。テキスト フィールドは、{{span style='color:blue;font-family:monospace;',TableLoadDataFuncType}} (訳者注: 原文では {{span style='color:blue;font-family:monospace;',TableLoadDataFunc}} となっていたが誤りと思われる)が返すテキスト ハンドルを保持しません。つまり、コードにテーブルに読み込んだメモリを解放する責任があるということです。 {{span style='color:blue;font-family:monospace;',narrowTextTableItem}} セル、{{span style='color:blue;font-family:monospace;',customTableItem}} セル、それに {{span style='color:blue;font-family:monospace;',tallCustomTableItem}} セルを描くとき、この関数は、テキストの後に余分のピクセルを描くため、またはセル全体を描くために、{{goto TableDrawItemFuncType,TableDrawItemFuncType()}} コールバック関数を使用します。 カラー対応のシステムでは、テーブルはいつもフィールド背景色と同じ色を使って描かれます。 ユーザがプライベート レコードをマスクするためにセキュリティ設定をしている場合、プライベート データベース レコードを保持するテーブル セルは、それらが保持する情報をぼかすために、陰影付き(黒っぽくする)のセルとして描かれます。{{goto TblSetRowMasked,TblSetRowMasked()}} と {{goto TblSetColumnMasked,TblSetColumnMasked()}} を適切に呼び出すことで、テーブルにどのセルがマスクされるのかを明確に指示しなくてはなりません。 '''互換性''' カラー対応とプライベート レコードのマスクは Palm OS バージョン 3.5 以降でのみサポートされます。 '''参照''' {{goto TblMarkTableInvalid,TblMarkTableInvalid()}}, {{goto TblMarkRowInvalid,TblMarkRowInvalid()}}, {{goto TblDrawTable,TblDrawTable()}} !{{anchor TblReleaseFocus}}TblReleaseFocus {{goto top,^TOP^}} '''目的''' フォーカスを解放します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblReleaseFocus ( TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' 通常、このセルを直接呼び出すことはありません。その代わり、{{span style='color:blue;font-family:monospace;',noFocus}} のオブジェクト インデックスに対する {{goto FrmSetFocus,FrmSetFocus()|Palm OS Programmer's API Reference/11-2}} の呼び出しが、フォームにテーブルがフォーカスを失ったことを通知します。フォーム コードは、通知に対応して、{{span style='color:blue;font-family:monospace;',TblReleaseFocus}} を呼び出します。 現在のアイテムがテキスト フィールドである場合、現在選択されているフィールドにあるテキストを保存するために {{goto TableSaveDataFuncType,TableSaveDataFuncType()}} コールバック関数が呼び出され、編集用に割り当てられていたメモリが解放され、挿入ポイントが消されます。 フォーカスが編集可能なテキスト フィールドにあり、かつ、フィールドがカスタム描画関数({{goto TableDrawItemFuncType,TableDrawItemFuncType()}})を使用している場合、{{goto FldReleaseFocus,FldReleseFocus()|Palm OS Programmer's API Reference/9}} を呼び出さなくてはならないかもしれないというこのにも注意してください。 '''参照''' {{goto TblGrabFocus,TblGrabFocus()}} !{{anchor TblRemoveRow}}TblRemoveRow 関数 {{goto top,^TOP^}} '''目的''' 指定された行をテーブルから削除します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblRemoveRow ( TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **削除する行(0 ベース) '''返り値''' 返り値はありません。この関数は、指定された行が無効な場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' テーブルにある行の数は減少しません。その代わり、この行は現在の位置からテーブルの最後に移動させられ、使用不可のマークを付けられます。そのため、テーブルが再描画されたときに、この行は表示されません。 この関数はディスプレイを視覚的に更新しません。ディスプレイを更新するために、{{goto TblRedrawTable,TblRedrawTable()}} を呼び出してください。 '''参照''' {{goto TblInsertRow,TblInsertRow()}}, {{goto TblSetRowUsable,TblSetRowUsable()}}, {{goto TblSetRowSelectable,TblSetRowSelectable()}}, {{goto TblMarkRowInvalid,TblMarkRowInvalid()}} !{{anchor TblRowInvalid}}TblRowInvalid 関数 {{goto top,^TOP^}} '''目的''' 行が無効かどうかを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblRowInvalid ( const TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' 行が無効であれば {{span style='color:blue;font-family:monospace;',true}} を、有効であれば {{span style='color:blue;font-family:monospace;',false}} を返します。この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効な場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 無効な行は再描画される必要があります。再描画するためには {{goto TblRedrawTable,TblRedrawTable()}} を使用してください。 !{{anchor TblRowMasked}}TblRowMasked 関数 {{goto top,^TOP^}} '''目的''' 行がマスクされているかどうかを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblRowMasked ( const TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' 行がマスクされている場合は {{span style='color:blue;font-family:monospace;',true}} を、マスクされていない場合は {{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' 行がプライベート データベース レコードを保持していて、かつ、ユーザがプライベート レコードのディスプレイ設定を「マスクする」にセットしている場合、コードがその行にマスクをかけるべきです。マスクされたセルは陰影を付けて(黒っぽく)表示されます。 テーブル セルは、その行と列の両方がマスクされない限りはマスクされないことに注意してください。これは、その行にあるプライベート情報ではないアイテムを可視(マスクされていない状態)にするためです。例えば、予定表アプリケーションはプライベートなアポイントメント(約束)の時間を表示しますが、その内容は表示しません。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto TblSetRowMasked,TblSetRowMasked()}}, {{goto TblSetColumnMasked,TblSetColumnMasked()}}, {{goto TableRowAttrType,TableRowAttrType}}, {{goto SecSelectViewStatus,SecSelectViewStatus()|Palm OS Programmer's API Reference/16}} !{{anchor TblRowSelectable}}TblRowSelectable 関数 {{goto top,^TOP^}} '''目的''' 指定された行が選択可能かどうかを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblRowSelectable( const TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' 行が選択可能な場合は {{span style='color:blue;font-family:monospace;',true}} を、そうでない場合は {{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' 選択可能ではない行は、ペンが接触しても、ハイライトされません。 '''参照''' {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblRowUsable}}TblRowUsable 関数 {{goto top,^TOP^}} '''目的''' 指定された行が使用可能かどうかを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TblRowUsable ( const TableType *tableP, Int16 row ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) '''返り値''' 行が使用可能な場合は {{span style='color:blue;font-family:monospace;',true}} を、そうでない場合は {{span style='color:blue;font-family:monospace;',false}} を返します。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効の場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 使用可能ではない行は表示されません。 '''参照''' {{goto TblRowSelectable,TblRowSelectable()}}, {{goto TblGetLastUsableRow,TblGetLastUsableRow()}}, {{goto TblSetRowUsable,TblSetRowUsable()}} !{{anchor TblSelectItem}}TblSelectItem 関数 {{goto top,^TOP^}} '''目的''' 指定されたアイテムを選択(ハイライト)します。すでに選択されたアイテムがある場合、そのアイテムはハイライトされなくなります。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSelectItem ( TableType *tableP, Int16 row, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **選択されたアイテムの列番号(0 ベース) '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',column}} または {{span style='color:blue;font-family:monospace;',row}} パラメータがスクリーン上にないアイテムを指す場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' {{span style='color:blue;font-family:monospace;',row}} がマスクされたプライベート データベース レコードを保持している場合、そのアイテムは選択されないままになります。 この関数は行全体をハイライトすることはできません。ハイライトできるのは行の 1 つのセルのみであり、いつも、以前に選択されていたテーブル セルのハイライトを取り消します。行全体を選択したい場合、単一列のテーブルを作成するか、自身で選択を行うコードを書いてください。 選択されたアイテムが複数行のテキスト フィールド、または、非標準の高さのテキスト フィールドである場合、この関数は上から 11 ピクセルのみをハイライトします。より大きな範囲をハイライトしたい場合、自身で選択を行うコードを書かなくてはなりません。 '''参照''' {{goto TblRowSelectable,TblRowSelectable()}}, {{goto TblGetItemBounds,TblGetItemBounds()}}, {{goto TblGetItemInt,TblGetItemInt()}} !{{anchor TblSetBounds}}TblSetBounds 関数 {{goto top,^TOP^}} '''目的''' テーブルの領域をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetBounds ( TableType *tableP, const RectangleType *rP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ rP}} **テーブルの領域を指定する {{span style='color:blue;font-family:monospace;',RectangleType}} 構造体へのポインタ '''返り値''' 返り値はありません。 '''互換性''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor TblSetColumnEditIndicator}}TblSetColumnEditIndicator 関数 {{goto top,^TOP^}} '''目的''' テーブルが編集モードに入るとき列をハイライトするかどうかを制御する列属性をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetColumnEditIndicator( TableType *tableP, Int16 column, Boolean editIndicator ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ editIndicator}} **ハイライトするには {{span style='color:blue;font-family:monospace;',true}}、ハイライトしないなら {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 '''コメント''' 編集指示子(原文: edit indicator)は、列が選択されたとき、その列にあるアイテムをハイライトするかどうかを制御します。デフォルトでは、テキスト フィールド アイテムの {{span style='color:blue;font-family:monospace;',editIndicator}} 値は {{span style='color:blue;font-family:monospace;',false}} で、他のすべてのテーブル アイテム型の {{span style='color:blue;font-family:monospace;',editIndicator}} 値は {{span style='color:blue;font-family:monospace;',true}} です。 テーブルが描かれるとき、左端から連続する、編集指示子がセットされたアイテムのみがハイライトされて描かれます。つまり、列 1, 2 それに 4 の編集指示子が {{span style='color:blue;font-family:monospace;',true}} で、列 3 の編集指示子が {{span style='color:blue;font-family:monospace;',false}} の場合、列 1, 2 にあるアイテムのみが選択されたときにハイライトされて描かれます。列 4 はハイライトされずに描かれます。 '''互換性''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto TableColumnAttrType,TableColumnAttrType}} !{{anchor TblSetColumnMasked}}TblSetColumnMasked 関数 {{goto top,^TOP^}} '''目的''' 列にマスクをかけるかどうかをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetColumnMasked ( TableType *tableP, Int16 column, Boolean masked ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ masked}} **列にマスクをかけるには {{span style='color:blue;font-family:monospace;',true}}、そうでないなら {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 '''コメント''' マスクされたセルは陰影付きで(黒っぽく)表示されます。列がプライベート データベース レコードからの情報を保持していて、かつ、ユーザがプライベート レコードのディスプレイ設定を「マスクする」にセットしている場合、列の内容を隠すべきであるなら、列にマスクをセットすべきです。 テーブル セルは、その行と列の両方がマスクされない限り、マスクされません。これは、その行にあるプライベート情報ではないアイテムを可視(マスクされていない状態)にするためです。例えば、予定表アプリケーションはプライベートなアポイントメント(約束)の時間を表示しますが、その内容は表示しません。 列の数は一定であるため、最初にテーブルをセットアップするときに、各列に対してこの関数を一度だけ呼び出す必要があります。行のマスク属性は、テーブル セルの内容が実際に陰影付きで表示されるのかどうかを決定します。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto TblRowMasked,TblRowMasked()}}, {{goto TblSetRowMasked,TblSetRowMasked()}}, {{goto TableColumnAttrType,TableColumnAttrType}}, {{goto SecSelectViewStatus,SecSelectViewStatus()|Palm OS Programmer's API Reference/16}} !{{anchor TblSetColumnSpacing}}TblSetColumnSpacing 関数 {{goto top,^TOP^}} '''目的''' 指定された {{span style='color:blue;font-family:monospace;',column}} の後の間隔をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetColumnSpacing ( TableType *tableP, Int16 column, Coord spacing ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ spacing}} **列の後の間隔をピクセル単位で指定します。 '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblSetColumnUsable,TblSetColumnUsable()}}, {{goto TableColumnAttrType,TableColumnAttrType}} !{{anchor TblSetColumnUsable}}TblSetColumnUsable 関数 {{goto top,^TOP^}} '''目的''' テーブルにある列を使用可能、または、使用不可にセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetColumnUsable ( TableType *tableP, Int16 column, Boolean usable ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ usable}} **使用可能であれば {{span style='color:blue;font-family:monospace;',true}}、使用不可であれば {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 使用不可の列は表示されません。 '''参照''' {{goto TblMarkRowInvalid,TblMarkRowInvalid()}}, {{goto TableColumnAttrType,TableColumnAttrType}} !{{anchor TblSetColumnWidth}}TblSetColumnWidth 関数 {{goto top,^TOP^}} '''目的''' 指定された列の幅をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetColumnWidth ( TableType *tableP, Int16 column, Coord width ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ width}} **列の幅(ピクセル単位) '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetColumnWidth,TblGetColumnWidth()}}, {{goto TableColumnAttrType,TableColumnAttrType}} !{{anchor TblSetCustomDrawProcedure}}TblSetCustomDrawProcedure 関数 {{goto top,^TOP^}} '''目的''' 指定された列のためのカスタム描画コールバック プロシージャをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetCustomDrawProcedure ( TableType *tableP, Int16 column, TableDrawItemFuncPtr drawCallback ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ drawCallback}} **コールバック関数 '''返り値''' 返り値はありません。 '''コメント''' カスタム描画コールバック関数は、{{span style='color:blue;font-family:monospace;',TableItemStyleType}} が {{span style='color:blue;font-family:monospace;',customTableItem}} または {{span style='color:blue;font-family:monospace;',tallCustomTableItem}} であるテーブル アイテムを描くために使用されます。追加情報は、{{goto TableItemType,TableItemType}} での説明を参照してください。 この関数は、{{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TableDrawItemFuncType,TableDrawItemFuncType()}}, {{goto TblDrawTable,TblDrawTable()}}, {{goto TableColumnAttrType,TableColumnAttrType}} !{{anchor TblSetItemFont}}TblSetItemFont 関数 {{goto top,^TOP^}} '''目的''' テーブル アイテムを表示するために使用されるフォントをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetItemFont ( TableType *tableP, Int16 row, Int16 column, FontID fontID ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ fontID}} **使用されるフォントの ID '''返り値''' 返り値はありません。 '''コメント''' この関数は、指定されたテーブル アイテムの {{span style='color:blue;font-family:monospace;',fontID}} フィールドに保存される値をセットします。テーブル アイテムのある特定の型のみが、表示されるときに、{{span style='color:blue;font-family:monospace;',fontID}} フィールドで指定されたフォントを使用します。{{goto TableItemType,TableItemType}} で、テーブル アイテムの各型を表示するために使用されるフォントについて、説明しています。 この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータがスクリーン上に表示されない行または列を指定している場合、致命的なエラー メッセージを表示するかもしれません。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto TblGetItemFont,TblGetItemFont()}} !{{anchor TblSetItemInt}}TblSetItemInt 関数 {{goto top,^TOP^}} '''目的''' 指定されたアイテムの整数値をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetItemInt ( TableType *tableP, Int16 row, Int16 column, Int16 value ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ value}} **何バイトかの値(整数) '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 通常、最初にテーブルをセットアップして初期化するときに、各テーブル セルの値をセットするためにこの関数を使用します。 この関数は、指定されたテーブル アイテムの {{span style='color:blue;font-family:monospace;',intValue}} フィールドに保存される値をセットします。テーブル アイテムのある特定の型は、{{span style='color:blue;font-family:monospace;',intValue}} に保存された値を表示し、他の型は {{span style='color:blue;font-family:monospace;',ptr}} フィールドによって指される値を表示します。詳細は、{{goto TableItemType,TableItemType}} での説明を参照してください。{{span style='color:blue;font-family:monospace;',ptr}} の値を表示するアイテムの {{span style='color:blue;font-family:monospace;',intValue}} をセットしても、エラーにはなりません。アプリケーションは {{span style='color:blue;font-family:monospace;',intValue}} フィールドにどんな値でも保存することができます。しかしながら、そのようなことをしても、そのようなテーブル セル(訳者注 : {{span style='color:blue;font-family:monospace;',ptr}} を表示するセルということか?)によって表示される値に対して、無意味であるということに気づいてください。 '''参照''' {{goto TblGetItemInt,TblGetItemInt()}}, {{goto TblSetItemPtr,TblSetItemPtr()}} !{{anchor TblSetItemPtr}}TblSetItemPtr 関数 {{goto top,^TOP^}} '''目的''' アイテムに指定されたポインタの値をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetItemPtr ( TableType *tableP, Int16 row, Int16 column, void *value ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ value}} **テーブル アイテムに表示するためのデータへのポインタ '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' この関数は、指定されたテーブル アイテムの {{span style='color:blue;font-family:monospace;',ptr}} フィールドに保存される値をセットします。テーブル アイテムのある特定の型は、{{span style='color:blue;font-family:monospace;',ptr}} よって指される値を表示し、他の型は {{span style='color:blue;font-family:monospace;',intValue}} フィールドに保存されている値を表示します。詳細は、{{goto TableItemType,TableItemType}} での説明を参照してください。{{span style='color:blue;font-family:monospace;',intValue}} の値を表示するアイテムの {{span style='color:blue;font-family:monospace;',ptr}} をセットしても、エラーにはなりません。アプリケーションは {{span style='color:blue;font-family:monospace;',ptr}} フィールドにどんな値でも保存することができます。しかしながら、そのようなことをしても、そのようなテーブル セル(訳者注 : {{span style='color:blue;font-family:monospace;',intValue}} を表示するセルということか?)によって表示される値に対して、無意味であるということに気づいてください。 '''参照''' {{goto TblGetItemPtr,TblGetItemPtr()}}, {{goto TblSetItemInt,TblSetItemInt()}} !{{anchor TblSetItemStyle}}TblSetItemStyle 関数 {{goto top,^TOP^}} '''目的''' アイテムの表示するための型(例えば、テキスト、数値、日付など)をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetItemStyle ( TableType *tableP, Int16 row, Int16 column, TableItemStyleType type ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ type}} **編集可能なテキスト フィールドやチェック ボックスといったアイテムの型。取り得る値については {{goto TableItemType,TableItemType}} を参照してください。 '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} または {{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 通常、最初にテーブルをセットアップして初期化するときに、この関数を使用します。アイテムの型を動的に変更するわけではありません。 この関数に続いて、テーブル アイテムによって表示される値をセットするために {{goto TblSetItemInt,TblSetItemInt()}} または {{goto TblSetItemPtr,TblSetItemPtr()}} のどちらかを呼び出します。指定したテーブル アイテムの型次第で、これらの関数のどちらかを呼び出すべきです。詳細については、{{goto TableItemType,TableItemType}} にある表を参照してください。あるテーブル列は常に同じ型のアイテムを保持しているということにも注意してください。例えば、以下のようなコードを使ってテーブルを初期化するかもしれません。 for (row = 0; row < rowsInTable; row++) { TblSetItemStyle (table, row, completedColumn, checkboxTableItem); TblSetItemStyle (table, row, priorityColumn, numericTableItem); TblSetItemStyle (table, row, descColumn, textTableItem); TblSetItemStyle (table, row, dueDateColumn, customTableItem); TblSetItemStyle (table, row, categoryColumn, customTableItem); } '''参照''' {{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure()}} !{{anchor TblSetLoadDataProcedure}}TblSetLoadDataProcedure 関数 {{goto top,^TOP^}} '''目的''' 指定された列に対して、データを読み込むためにコールバック プロシージャをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetLoadDataProcedure ( TableType *tableP, Int16 column, TableLoadDataFuncPtr loadDataCallback ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **アイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ loadDataCallback}} **コールバック プロシージャ。{{goto TableLoadDataFuncType,TableLoadDataFuncType()}} を参照してください。 '''返り値''' 返り値はありません。 '''コメント''' コールバック プロシージャは、テーブル アイテムのデータ値を読み込むために使用されます。コールバック関数を書くにあたっての追加情報は、{{goto TableLoadDataFuncType,TableLoadDataFuncType()}} を参照してください。 通常、最初にテーブルをセットアップして初期化するときに、この関数を使用します。 '''参照''' {{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure()}} !{{anchor TblSetRowData}}TblSetRowData 関数 {{goto top,^TOP^}} '''目的''' 指定された行のデータ値をセットします。データ値は、アプリケーション特有の値を保持するための場所です。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetRowData ( TableType *tableP, Int16 row, UInt32 data ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ data}} **この行に保存するアプリケーション特有の値。例えば、予定表と ToDo アプリケーションは、このフィールドをこの行によって表示されるデータベース レコードの固有 ID を保存するために使用しています。 '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetRowData,TblGetRowData()}}, {{goto TblFindRowData,TblFindRowData()}} !{{anchor TblSetRowHeight}}TblSetRowHeight 関数 {{goto top,^TOP^}} '''目的''' 指定された行の高さをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetRowHeight ( TableType *tableP, Int16 row, Coord height ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ height}} **新しい高さをピクセル単位で '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetRowHeight,TblGetRowHeight()}}, {{goto TblSetRowStaticHeight,TblSetRowStaticHeight()}} !{{anchor TblSetRowID}}TblSetRowID 関数 {{goto top,^TOP^}} '''目的''' 指定された行の ID 値をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetRowID ( TableType *tableP, Int16 row, UInt16 id ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ id}} **行を特定するための ID '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblGetRowID,TblGetRowID()}}, {{goto TblFindRowID,TblFindRowID()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblSetRowMasked}}TblSetRowMasked 関数 {{goto top,^TOP^}} '''目的''' テーブルにある行にマスクをかける、または、マスクを解除します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetRowMasked ( TableType *tableP, Int16 row, Boolean masked ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ masked}} **行にマスクをかけるには {{span style='color:blue;font-family:monospace;',true}}、そうでない場合は {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 '''コメント''' マスクされたセルは陰影付きで(黒っぽく)表示されます。テーブルを描画または再描画する前にこの関数を呼び出すべきです。テーブル行がプライベート データベース レコードを保持していて、かつ、ユーザがプライベート レコードのディスプレイ設定を「マスクする」にセットしている場合、行に対してこの関数を呼び出すべきです。以下に例を挙げます。 UInt16 attr; privateRecordViewEnum privateRecordStatus; Boolean masked; privateRecordStatus = (privateRecordViewEnum) PrefGetPreference(prefShowPrivateRecords); .... DmRecordInfo (ToDoDB, recordNum, &attr, NULL, NULL); masked = ((attr & dmRecAttrSecret) && (privateRecordStatus == maskPrivateRecords)); TblSetRowMasked(tableP, row, masked); テーブル セルは、その行と列の両方がマスクされない限り、マスクされないことに注意してください。これは、その行にあるプライベート情報ではないアイテムを可視(マスクされていない状態)にするためです。例えば、予定表アプリケーションはプライベートなアポイントメント(約束)の時間を表示しますが、その内容は表示しません。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto TblRowMasked,TblRowMasked()}}, {{goto TblSetColumnMasked,TblSetColumnMasked()}}, {{goto TableRowAttrType,TableRowAttrType}}, {{goto SecSelectViewStatus,SecSelectViewStatus()|Palm OS Programmer's API Reference/16}} !{{anchor TblSetRowSelectable}}TblSetRowSelectable 関数 {{goto top,^TOP^}} '''目的''' テーブルにある行を選択可能または選択不可にします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetRowSelectable ( TableType *tableP, Int16 row, Boolean selectable ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ selectable}} **{{span style='color:blue;font-family:monospace;',true}} または {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 選択不可の行は、ペンが接触しても、ハイライトされません。 '''参照''' {{goto TblRowSelectable,TblRowSelectable()}}, {{goto TblSetRowUsable,TblSetRowUsable()}}, {{goto TableRowAttrType,TableRowAttrType}} !{{anchor TblSetRowStaticHeight}}TblSetRowStaticHeight 関数 {{goto top,^TOP^}} '''目的''' 行の静的な高さ属性をセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetRowStaticHeight ( TableType *tableP, Int16 row, Boolean staticHeight ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ staticHeight}} **静的な高さをセットするなら {{span style='color:blue;font-family:monospace;',true}}、セットしない(解除する)場合は {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' 静的な高さ属性がセットされた行は、テキスト アイテムにテキストが追加されても、テキストが削除されても、行の高さを拡張したり、縮めたりしません。 '''互換性''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor TblSetRowUsable}}TblSetRowUsable 関数 {{goto top,^TOP^}} '''目的''' テーブルにある行を使用可能または使用不可にします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetRowUsable ( TableType *tableP, Int16 row, Boolean usable ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ usable}} **{{span style='color:blue;font-family:monospace;',true}} または {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',row}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''参照''' {{goto TblRowUsable,TblRowUsable()}}, {{goto TblSetRowSelectable,TblSetRowSelectable()}} !{{anchor TblSetSaveDataProcedure}}TblSetSaveDataProcedure 関数 {{goto top,^TOP^}} '''目的''' 指定された列のデータを保存するためのコールバック プロシージャをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetSaveDataProcedure ( TableType *tableP, Int16 column, TableSaveDataFuncPtr saveDataCallback ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ saveDataCallback}} **コールバック関数。{{goto TableSaveDataFuncType,TableSaveDataFuncType()}} を参照してください。 '''返り値''' 返り値はありません。 この関数は、{{span style='color:blue;font-family:monospace;',column}} パラメータが無効である場合、致命的なエラー メッセージを表示するかもしれません。 '''コメント''' テーブル オブジェクトがテキスト オブジェクトのデータを保存する必要があると決定したとき、コールバック プロシージャが呼び出されます。 '''参照''' {{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure()}} !{{anchor TblSetSelection}}TblSetSelection 関数 {{goto top,^TOP^}} '''目的''' テーブル アイテムをセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblSetSelection ( TableType *tableP, Int16 row, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **列番号(0 ベース) '''返り値''' 返り値はありません。 '''コメント''' この関数は、{{span style='color:blue;font-family:monospace;',row}} と {{span style='color:blue;font-family:monospace;',column}} 引数で指定されたテーブル アイテムを現在の選択として、セットします。この関数の呼び出し後に、UI を更新するために {{goto TblDrawTable,TblDrawTable()}} が呼び出されなくてはなりません。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。それより前のバージョンの Palm OS のためのコードでこの関数を使用するには、PalmOSGlue ライブラリにリンクして {{span style='color:blue;font-family:monospace;',TblGlueSetSelection}} を呼び出してください。追加情報は、{{goto PalmOSGlue ライブラリ,80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80}} を参照してください。 '''参照''' {{goto TblGetNumberOfColumns,TblGetNumberOfColumns()}}, {{goto TblGetTopRow,TblGetTopRow()}} !{{anchor TblUnhighlightSelection}}TblUnhighlightSelection 関数 {{goto top,^TOP^}} '''目的''' テーブルの現在選択されているアイテムのハイライトを消します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TblUnhighlightSelection ( TableType *tableP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) '''返り値''' 返り値はありません。 !!{{anchor Application-Defined Functions}}アプリケーション定義関数 {{goto top,^TOP^}} !{{anchor TableDrawItemFuncType}}TableDrawItemFuncType 関数 {{goto top,^TOP^}} '''目的''' カスタム テーブル アイテムを描きます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' void TableDrawItemFuncType ( void *tableP, Int16 row, Int16 column, RectangleType *bounds ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **描画するアイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **描画するアイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ bounds}} **アイテムが描画されるスクリーンの領域 '''返り値''' 返り値はありません。 '''コメント''' この関数は {{goto TblDrawTable,TblDrawTable()}} と {{goto TblRedrawTable,TblRedrawTable()}} の中で呼び出されます。 テーブルが {{span style='color:blue;font-family:monospace;',customTableItem}} または {{span style='color:blue;font-family:monospace;',tallCustomTableItem}} (のアイテム全体を描くために)または {{span style='color:blue;font-family:monospace;',narrowTextTableItem}} (テキストとテーブル セルの右端の間の間隔の中で要求されたものを描くため)型のアイテムを保持しているとき、カスタム描画関数を実装します。 テーブルにある情報のいずれかの型を組み込むために、カスタム描画関数を実装するかもしれません。事前に定義されているアイテムが描かれることを好まないのであれば、代わりに、{{span style='color:blue;font-family:monospace;',customTableItem}} または {{span style='color:blue;font-family:monospace;',tallCustomTableItem}} を使用することを好むかもしれません。例えば、テーブルにある日付を組み込みたいが、年を月や日と同様に表示したいのなら、カスタム描画関数を実装すべきです。 '''参照''' {{goto TblSetCustomDrawProcedure,TblSetCustomDrawProcedure()}}, {{goto TableItemType,TableItemType}} !{{anchor TableLoadDataFuncType}}TableLoadDataFuncType 関数 {{goto top,^TOP^}} '''目的''' 列にデータを読み込みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Err TableLoadDataFuncType ( void *tableP, Int16 row, Int16 column, Boolean editable, MemHandle *dataH, Int16 *dataOffset, Int16 *dataSize, FieldPtr fld ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **読み込むアイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **読み込むアイテムの列番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ editable}} **{{span style='color:blue;font-family:monospace;',true}} の場合、テーブルは現在編集されている最中です。{{span style='color:blue;font-family:monospace;',false}} の場合、テーブルは再描画されている最中ですが、必ずしも編集されている最中ではありません。 *{{span style='color:blue;font-family:monospace;',← dataH}} **nullで終了している文字列を保持しているブロックのロックされていないハンドル *{{span style='color:blue;font-family:monospace;',← dataOffset}} **ブロックの開始点からテキスト文字列の開始点までのオフセット *{{span style='color:blue;font-family:monospace;',← dataSize}} **テキスト文字列に割り当てられたサイズ。文字列の長さではありません。 *{{span style='color:blue;font-family:monospace;',→ fld}} **このテーブル セルにあるテキスト フィールドへのポインタ '''返り値''' 成功時には 0 を、失敗時にはエラーを返します。 '''コメント''' この関数は 2 つのケースで呼び出されます: テキスト フィールド アイテムが描画されている最中({{goto TblDrawTable,TblDrawTable()}} または {{goto TblRedrawTable,TblRedrawTable()}})と、テキスト フィールド アイテムが選択されている最中({{goto TblHandleEvent,TblHandleEvent()}} が {{goto tblEnterEvent,tblEnterEvent}} をハンドルしている最中)です。アイテムが選択されようとしているときにこの関数がエラー(0 以外の値のいずれか)を返す場合、アイテムは選択されず、テーブルの {{span style='color:blue;font-family:monospace;',editing}} 属性は {{span style='color:blue;font-family:monospace;',false}} にセットされます。 {{goto FldSetText,FldSetText()|Palm OS Programmer's API Reference/9}} に渡されるものと同じ {{span style='color:blue;font-family:monospace;',dataH}}, {{span style='color:blue;font-family:monospace;',dataOffset}}, それに {{span style='color:blue;font-family:monospace;',dataSize}} が返されます。すなわち、テーブル セルのテキスト フィールドがデータベース レコードにあるテキストを指すようにするためにこの関数を使用でき、それにより、テキスト フィールド ルーチンを使って文字列を直接編集することができます。そうするために、データベース レコードへのハンドルを {{span style='color:blue;font-family:monospace;',dataH}} に収めて、レコードの開始点から文字列の開始点までのオフセットを {{span style='color:blue;font-family:monospace;',dataOffset}} に収めて、さらに文字列に割り当てられたサイズを {{span style='color:blue;font-family:monospace;',dataSize}} に収めて返します。 この関数で返されるハンドルは、メモリ チャンクの中の {{span style='color:blue;font-family:monospace;',dataOffset}} バイトから始まる null で終了する文字列を保持していると仮定されます。文字列の長さは、0 から {{span style='color:blue;font-family:monospace;',dataSize}} バイトまでの間になります。 {{span style='color:blue;font-family:monospace;',FldSetText}} と同様に、コードには {{span style='color:blue;font-family:monospace;',dataH}} パラメータに関連するメモリを解放する責任があります。{{goto TableSaveDataFuncType,TableSaveDataFuncType()}} 関数の呼び出しの中でそうする(訳者注: メモリを解放する)ことができますが、それはすでに編集されたセルに対して呼び出した場合のみです。編集不可のテキスト セル、または、編集可能だが一度も選択されなかったテキスト セルの場合は、フォームがクローズされるときにメモリを解放してください。 この関数に渡される {{span style='color:blue;font-family:monospace;',fld}} ポインタは、テーブル コードによってデフォルト値を持つようすでに初期化されています。フィールドの属性を上書きしたい場合(例えば、アンダーライン モードを変更したい場合)は、この関数の中でそうすることができます。 '''参照''' {{goto TblDrawTable,TblDrawTable()}}, {{goto TblHandleEvent,TblHandleEvent()}}, {{goto TableLoadDataFuncType,TableLoadDataFuncType()}} !{{anchor TableSaveDataFuncType}}TableSaveDataFuncType 関数 {{goto top,^TOP^}} '''目的''' テキスト フィールドに関連するデータを保存します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Table.h}} '''Prototype''' Boolean TableSaveDataFuncType ( void *tableP, Int16 row, Int16 column ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ tableP}} **テーブル オブジェクトへのポインタ。({{goto TableType,TableType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ row}} **保存する(訳者注: 原文では to load となっていたが、誤りと思われる)アイテムの行番号(0 ベース) *{{span style='color:blue;font-family:monospace;',→ column}} **保存する(同上)アイテムの列番号(0 ベース) '''返り値''' テーブルが再描画されるべきなら {{span style='color:blue;font-family:monospace;',true}} を、テーブルを再描画する必要がなければ {{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' テーブル セルにある現在選択されているテキスト フィールドに関連付けられたメモリを解放する前に、この関数が呼び出されます。このメモリが解放される前に特別なクリーンアップをする必要がある場合に、この関数を実装します。 この関数は、現在選択されている編集可能なテキスト フィールドがフォーカスを解放しようとしているときにのみ、呼び出されます。このフィールドへのポインタを調べるために、{{goto TblGetCurrentField,TblGetCurrentField()}} を使用できます。それ(訳者注: {{span style='color:blue;font-family:monospace;',TblGetCurrentField}})が返すのは現在選択されているフィールドのみで、テーブルにある他のすべてのフィールドは返されません。 テーブル マネージャがすでにテキスト フィールドからメモリ ハンドルの関連付けを解いてしまっているために、データに関連付けられたメモリは、フィールドが解放されるときに、解放されないということに注意してください。テーブル マネージャはさらに {{goto FldCompactText,FldCompactText()|Palm OS Programmer's API Reference/9}} をも呼び出します。 ダイナミック ヒープにある文字列を指す {{goto TableLoadDataFuncType,TableLoadDataFuncType()}} コールバック関数の中で返されるテキスト ハンドルの場合、そのハンドルを保存または解放するためにこのコールバック関数を実装すべきです。ハンドルを取得するために、{{goto FldGetTextHandle,FldGetTextHandle()|Palm OS Programmer's API Reference/9}} を使用できます。 この関数が {{span style='color:blue;font-family:monospace;',true}} を返す場合、{{goto TblRedrawTable,TblRedrawTable()}} が呼び出されます。返る前に、再描画する必要があるすべてのテーブル行に無効のマークを付けるべきです。 '''参照''' {{goto TblSetSaveDataProcedure,TblSetSaveDataProcedure()}} {{div_end}} {{div_begin "style='border-top-style:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 19 章に戻る|Palm OS Programmer's API Reference/19]] [[↑トップへ|Palm OS Programmer's API Reference]] [[21 章に進む →|Palm OS Programmer's API Reference/21]] {{div_end}}