{{div_begin}} [[← 10 章に戻る|Palm OS Programmer's API Reference/10]] [[↑トップへ|Palm OS Programmer's API Reference]] [[12 章に進む →|Palm OS Programmer's API Reference/12]] {{div_end}} {{div_begin style="margin-bottom:-10px"}} !!!11 フォーム (ページ 1) {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *(ページ 1) *{{goto Form Structures and Types,フォーム構造体と型}} **{{goto AlertTemplateType,AlertTemplateType}} **{{goto FormActiveStateType,FormActiveStateType}} **{{goto FormAttrType,FormAttrType}} **{{goto FormBitmapType,FormBitmapType}} **{{goto FormFrameType,FormFrameType}} **{{goto FormGadgetAttrType,FormGadgetAttrType}} **{{goto FormGadgetType,FormGadgetType}} **{{goto FormGadgetTypeInCallback,FormGadgetTypeInCallback}} **{{goto FormLabelType,FormLabelType}} **{{goto FormLineType,FormLineType}} **{{goto FormObjAttrType,FormObjAttrType}} **{{goto FormObjectType,FormObjectType}} **{{goto FormObjListType,FormObjListType}} **{{goto FormPopupType,FormPopupType}} **{{goto FormPtr,FormPtr}} **{{goto FormRectangleType,FormRectangleType}} **{{goto FormTitleType,FormTitleType}} **{{goto FormType,FormType}} **{{goto FrmGraffitiStateType,FrmGraffitiStateType}} **{{goto FrmNavHeaderType,FrmNavHeaderType}} **{{goto FrmNavOrderEntryType,FrmNavOrderEntryType}} *{{goto Form Constants,フォーム定数}} **{{goto AlertType,AlertType}} **{{goto FormObjectKind,FormObjectKind}} **{{goto FrmNavFocusRingStyleEnum,FrmNavFocusRingStyleEnum}} **{{goto FrmNavHeaderFlagsType,FrmNavHeaderFlagsType}} **{{goto FrmNavObjectFlagsType,FrmNavObjectFlagsType}} **{{goto FrmNavStateFlagsType,FrmNavStateFlagsType}} **{{goto Form Navigation Focus Error Codes,フォーム ナビゲーション フォーカス エラー コード}} **{{goto Form Dynamic Input Area Policies,フォームの動的入力エリアのポリシー}} //Form Dynamic Input Area Policies **{{goto Miscellaneous Form Constants,その他のフォーム定数}} **{{goto One-Handed Navigation Trap Selectors,One-Handed Navigation Trap Selectors}} *{{goto Form Resources,フォーム リソース}} *{{goto Form Functions,フォーム関数}} **{{goto ECFrmValidatePtr,ECFrmValidatePtr}} **{{goto FrmAlert,FrmAlert}} **{{goto FrmCloseAllForms,FrmCloseAllForms}} **{{goto FrmCopyLabel,FrmCopyLabel}} **{{goto FrmCopyTitle,FrmCopyTitle}} **{{goto FrmCountObjectsInNavOrder,FrmCountObjectsInNavOrder}} **{{goto FrmCustomAlert,FrmCustomAlert}} **{{goto FrmCustomResponseAlert,FrmCustomResponseAlert}} **{{goto FrmDeleteForm,FrmDeleteForm}} **{{goto FrmDispatchEvent,FrmDispatchEvent}} **{{goto FrmDoDialog,FrmDoDialog}} **{{goto FrmDrawForm,FrmDrawForm}} **{{goto FrmEraseForm,FrmEraseForm}} **{{goto FrmGetActiveField,FrmGetActiveField}} **{{goto FrmGetActiveForm,FrmGetActiveForm}} **{{goto FrmGetActiveFormID,FrmGetActiveFormID}} **{{goto FrmGetControlGroupSelection,FrmGetControlGroupSelection}} **{{goto FrmGetControlValue,FrmGetControlValue}} **{{goto FrmGetDIAPolicyAttr,FrmGetDIAPolicyAttr}} **{{goto FrmGetFirstForm,FrmGetFirstForm}} **{{goto FrmGetFocus,FrmGetFocus}} **{{goto FrmGetFormBounds,FrmGetFormBounds}} **{{goto FrmGetFormId,FrmGetFormId}} **{{goto FrmGetFormPtr,FrmGetFormPtr}} **{{goto FrmGetGadgetData,FrmGetGadgetData}} **{{goto FrmGetLabel,FrmGetLabel}} **{{goto FrmGetNavEntry,FrmGetNavEntry}} **{{goto FrmGetNavOrder,FrmGetNavOrder}} **{{goto FrmGetNavState,FrmGetNavState}} **{{goto FrmGetNumberOfObjects,FrmGetNumberOfObjects}} **{{goto FrmGetObjectBounds,FrmGetObjectBounds}} **{{goto FrmGetObjectId,FrmGetObjectId}} **{{goto FrmGetObjectIndex,FrmGetObjectIndex}} **{{goto FrmGetObjectIndexFromPtr,FrmGetObjectIndexFromPtr}} **{{goto FrmGetObjectPosition,FrmGetObjectPosition}} **{{goto FrmGetObjectPtr,FrmGetObjectPtr}} **{{goto FrmGetObjectType,FrmGetObjectType}} **{{goto FrmGetTitle,FrmGetTitle}} **{{goto FrmGetWindowHandle,FrmGetWindowHandle}} *(ページ 2) **{{goto FrmGotoForm,FrmGotoForm|Palm OS Programmer's API Reference/11-2}} **{{goto FrmHandleEvent,FrmHandleEvent|Palm OS Programmer's API Reference/11-2}} **{{goto FrmHelp,FrmHelp|Palm OS Programmer's API Reference/11-2}} **{{goto FrmHideObject,FrmHideObject|Palm OS Programmer's API Reference/11-2}} **{{goto FrmInitForm,FrmInitForm|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNavDrawFocusRing,FrmNavDrawFocusRing|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNavGetFocusRingInfo,FrmNavGetFocusRingInfo|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNavObjectTakeFocus,FrmNavObjectTakeFocus|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNavRemoveFocusRing,FrmNavRemoveFocusRing|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNewBitmap,FrmNewBitmap|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNewForm,FrmNewForm|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNewGadget,FrmNewGadget|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNewGsi,FrmNewGsi|Palm OS Programmer's API Reference/11-2}} **{{goto FrmNewLabel,FrmNewLabel|Palm OS Programmer's API Reference/11-2}} **{{goto FrmPointInTitle,FrmPointInTitle|Palm OS Programmer's API Reference/11-2}} **{{goto FrmPopupForm,FrmPopupForm|Palm OS Programmer's API Reference/11-2}} **{{goto FrmRemoveObject,FrmRemoveObject|Palm OS Programmer's API Reference/11-2}} **{{goto FrmRestoreActiveState,FrmRestoreActiveState|Palm OS Programmer's API Reference/11-2}} **{{goto FrmReturnToForm,FrmReturnToForm|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSaveActiveState,FrmSaveActiveState|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSaveAllForms,FrmSaveAllForms|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetActiveForm,FrmSetActiveForm|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetCategoryLabel,FrmSetCategoryLabel|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetControlGroupSelection,FrmSetControlGroupSelection|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetControlValue,FrmSetControlValue|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetDIAPolicyAttr,FrmSetDIAPolicyAttr|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetEventHandler,FrmSetEventHandler|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetFocus,FrmSetFocus|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetGadgetData,FrmSetGadgetData|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetGadgetHandler,FrmSetGadgetHandler|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetMenu,FrmSetMenu|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetNavEntry,FrmSetNavEntry|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetNavOrder,FrmSetNavOrder|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetNavState,FrmSetNavState|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetObjectBounds,FrmSetObjectBounds|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetObjectPosition,FrmSetObjectPosition|Palm OS Programmer's API Reference/11-2}} **{{goto FrmSetTitle,FrmSetTitle|Palm OS Programmer's API Reference/11-2}} **{{goto FrmShowObject,FrmShowObject|Palm OS Programmer's API Reference/11-2}} **{{goto FrmUpdateForm,FrmUpdateForm|Palm OS Programmer's API Reference/11-2}} **{{goto FrmUpdateScrollers,FrmUpdateScrollers|Palm OS Programmer's API Reference/11-2}} **{{goto FrmValidatePtr,FrmValidatePtr|Palm OS Programmer's API Reference/11-2}} **{{goto FrmVisible,FrmVisible|Palm OS Programmer's API Reference/11-2}} *{{goto Application-Defined Functions,アプリケーション定義関数|Palm OS Programmer's API Reference/11-2}} **{{goto FormCheckResponseFuncType,FormCheckResponseFuncType|Palm OS Programmer's API Reference/11-2}} **{{goto FormEventHandlerType,FormEventHandlerType|Palm OS Programmer's API Reference/11-2}} **{{goto FormGadgetHandlerType,FormGadgetHandlerType|Palm OS Programmer's API Reference/11-2}} {{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;'"}} [[↑ 11 章のトップへ|Palm OS Programmer's API Reference/11]] [[11 章のページ 2 へ →|Palm OS Programmer's API Reference/11-2]] !!{{anchor Form Structures and Types}}フォーム構造体と型 {{goto top,^TOP^}} !{{anchor AlertTemplateType}}AlertTemplateType 構造体 {{goto top,^TOP^}} '''目的''' アラート リソースの構造体。OS がリソース データベースからアラート リソースを取得し、以前表示していたアラートの内容を操作する必要があるとき、OS がこの構造体を使用します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',AlertTemplateType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',AlertTemplateType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef struct AlertTemplateTag { UInt16 alertType; UInt16 helpRscID; UInt16 numButtons; UInt16 defaultButton; } AlertTemplateType '''フィールド''' *{{span style='color:blue;font-family:monospace;',alertType}} **アラート タイプ。{{goto AlertType,AlertType}} で定義されている値の 1 つをとります。 *{{span style='color:blue;font-family:monospace;',helpRscID}} **アラートのオンライン ヘルプを提供するリソースの記号的 ID。 *{{span style='color:blue;font-family:monospace;',numButtons}} **アラート上にあるボタンの数。 *{{span style='color:blue;font-family:monospace;',defaultButton}} **アラートのデフォルトの行動を提供するボタンの記号的 ID。 '''コメント''' この構造体のすぐ後に、アラート タイトル、アラート メッセージ、ボタン文字列(各文字列は null で終了し、そのすぐ後に次の文字列が続く)が続きます。 !{{anchor FormActiveStateType}}FormActiveStateType 構造体 {{goto top,^TOP^}} '''目的''' アクティブ フォームとウィドウの状態を保存、元に戻すとき、{{goto FrmSaveActiveState,FrmSaveActiveState()|Palm OS Programmer's API Reference/11-2}} と {{goto FrmRestoreActiveState,FrmRestoreActiveState()|Palm OS Programmer's API Reference/11-2}} に渡される構造体。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef struct FormActiveStateType { UInt16 data[11]; } FormActiveStateType '''フィールド''' *{{span style='color:blue;font-family:monospace;',data}} **フォームとウィンドウの状態情報を保持している抽象データ。ある Palm OS のリリースと他のリリースでは、この構造体の内容がまったく異なる可能性があるため、このデータは抽象データであるということに注意してください。アプリケーションはこのフィールドの内容を読み込んだり、書き込んだりしようとすべきではありません。 '''互換性''' この構造体は Palm OS 3.0 で追加されました。 !{{anchor FormAttrType}}FormAttrType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormAttrType}} ビット フィールドはフォームの可視特性を定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 usable:1; UInt16 enabled:1; UInt16 visible:1; UInt16 dirty:1; UInt16 saveBehind:1; UInt16 graffitiShift:1; UInt16 globalsAvailable:1; UInt16 doingDialog:1; UInt16 exitDialog:1; UInt16 reserved:7; UInt16 reserved2; } FormAttrType; コードは {{span style='color:blue;font-family:monospace;',FormAttrType}} ビット フィールドを実体の無いものとして扱うべきです。ビット フィールド メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',usable}} **セットしないと、フォームはアプリケーションの現在のインターフェイスの一部とは見なされず、スクリーン上にも現れません。 *{{span style='color:blue;font-family:monospace;',enabled}} **使用されません。 *{{span style='color:blue;font-family:monospace;',visible}} **フィールド オブジェクトが描画または消去されるとき、内部的にセットまたはクリアされます。 *{{span style='color:blue;font-family:monospace;',dirty}} **使用されません。 *{{span style='color:blue;font-family:monospace;',saveBehind}} **フォームが描画されるときにフォームの背後にあるビットを保存する場合、セットします。 *{{span style='color:blue;font-family:monospace;',graffitiShift}} **シフト指示子がサポートされる場合、セットします。 *{{span style='color:blue;font-family:monospace;',globalsAvailable}} **システムのみが使用します。 *{{span style='color:blue;font-family:monospace;',doingDialog}} **システムのみが使用します。 *{{span style='color:blue;font-family:monospace;',exitDialog}} **システムのみが使用します。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',reserved2}} **将来使用するために予約されています。 '''互換性''' {{span style='color:blue;font-family:monospace;',globalsAvailable}}, {{span style='color:blue;font-family:monospace;',doingDialog}} それに {{span style='color:blue;font-family:monospace;',exitDialog}} フラグは、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、意味を持ちます。 !{{anchor FormBitmapType}}FormBitmapType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormBitmapType}} 構造体はフォームのビットマップの可視特性を定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormBitmapType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormBitmapType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { FormObjAttrType attr; PointType pos; UInt16 rscID; } FormBitmapType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',attr}} **{{goto FormObjAttrType,FormObjAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',pos}} **ビットマップの位置。 *{{span style='color:blue;font-family:monospace;',rscID}} **ビットマップのリソース ID。この値をリソース ID として {{goto DmGetResource,DmGetResource|Palm OS Programmer's API Reference/30-1}} を使用した場合、この関数は {{goto BitmapType,BitmapType|Palm OS Programmer's API Reference/26}} 構造体へのポインタを返します。 !{{anchor FormFrameType}}FormFrameType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormFrameType}} 構造体はフォームのフレームを定義します。 '''Prototyp''' typedef struct { UInt16 id; FormObjAttrType attr; RectangleType rect; UInt16 frameType; } FormFrameType; '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **フレームの ID。 *{{span style='color:blue;font-family:monospace;',attr}} **{{goto FormObjAttrType,FormObjAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',rect}} **フレームの位置とサイズ。 *{{span style='color:blue;font-family:monospace;',frameType}} **フレームのタイプ。 !{{anchor FormGadgetAttrType}}FormGadgetAttrType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormGadgetAttrType}} ビット フィールドはガゼットの属性を定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormGadgetAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormGadgetAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 usable:1; UInt16 extended:1; UInt16 visible:1; UInt16 reserved:13; } FormGadgetAttrType; コードは {{span style='color:blue;font-family:monospace;',FormGadgetAttrType}} ビット フィールドを実体の無いものとして扱うべきです。各値を取得しセットするためには、以下の説明で指定された関数を使用してください。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',usable}} **セットされていない場合、ガゼットはアプリケーションの現在のインターフェイスの一部とは見なされず、スクリーン上にも表示されません。この値は {{goto FrmShowObject,FrmShowObuject()|Palm OS Programmer's API Reference/11-2}} によってセットされ、{{goto FrmHideObject,FrmHideObject()|C/C++ Sync Suite Reference601/11-2}} によってクリアされます。 *{{span style='color:blue;font-family:monospace;',extend}} **セットされている場合、ガゼットは拡張ガゼットです。拡張ガゼットは {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にサポートされます。拡張ガゼットは {{goto FormGadgetType,FormGadgetType}} の中で定義される {{span style='color:blue;font-family:monospace;',handler}} フィールドを持ちます。セットされていない場合、ガゼットはすべての Palm OS で互換性を持つ標準ガゼットです。 *{{span style='color:blue;font-family:monospace;',visible}} **ガゼットが描かれたり消されたりするときに、セット、または、クリアされます。{{goto FrmHideObject,FrmHideObjec()|Palm OS Programmer's API Reference/11-2}} がこの値をクリアします。(ガゼットがコールバック関数を持つ場合)描画要求に応答するとき、ガゼットのコールバック関数の中で明示的にこの値をセットすべきです。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 多くのフォーム関数(例えば、{{goto FrmGetObjectType,FrmGetObjectType()}}, {{goto FrmHideObject,FrmHideObject()|Palm OS Programmer's API Reference/11-2}}, {{goto FrmGetObjectBounds,FrmGetObjectBounds()}})は引数の 1 つとしてオブジェクトのインデックスをとります。オブジェクトのインデックスを取得する最も一般的な方法は、{{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を呼び出すことです。{{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} は引数としてフォームへのポインタとオブジェクトの ID をとり(訳者注: 原文では form ID となっていたが誤りと思われる)、フォーム オブジェクトのインデックスを返します。このルーチンは最も多くのケースで使われるものです。なぜなら、アプリケーションは通常オブジェクト ID を知っているからです。しかしながら、ガゼット -- 明確に言えば拡張ガゼット -- は、ID ではなくガゼット ポインタを返すコールバック関数を含む API を持ちます。そのようなケースでは、オブジェクト インデックスを取得する(それにより {{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} API が使用可能になる)唯一の方法は、{{goto FrmGetObjectIndexFromPtr,FrmGetObjectIndexFromPtr()}} を使用することです。 Palm OS 4.0 以前のシステムで同じ機能が必要な場合、以下のコードで同じことを実現できます。 UInt16 index; UInt16 objIndex = frmInvalidObjectId; UInt16 numObjects = FrmGetNumberOfObjects(frmP) for (index = 0; index < numObjects; index++) { if (FrmGetObjectPtr(index) == myObjPtr) { // Found it objIndex = index; break; } } '''互換性''' この構造体は、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、定義されます。 !{{anchor FormGadgetType}}FormGadgetType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormGadgetType}} 構造体はフォーム上に現れるガゼット オブジェクトを定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormGadgetType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormGadgetType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 id; FormGadgetAttrType attr; RectangleType rect; const void *data; FormGadgetHandlerType *handler; } FormGadgetType; コードは {{span style='color:blue;font-family:monospace;',FormGadgetType}} ビット フィールドを実体の無いものとして扱うべきです。各値を取得しセットするためには、以下の説明で指定された関数を使用してください。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **ガゼット リソースの ID。 *{{span style='color:blue;font-family:monospace;',attr}} **{{goto FormGadgetAttrType,FormGadgetAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',rect}} **オブジェクトの位置とサイズ。 *{{span style='color:blue;font-family:monospace;',data}} **保存される必要のあるすべてのデータへのポインタ。このフィールドの値をセット、取得するために {{goto FrmSetGadgetData,FrmSetGadgetData()|Palm OS Programmer's API Reference/11-2}} と {{goto FrmGetGadgetData,FrmGetGadgetData()}} を使用することができます。 *{{span style='color:blue;font-family:monospace;',handler}} **ガゼットの振る舞いとイベントへの応答を制御するコールバック関数へのポインタ。このフィールドを {{goto FrmSetGadgetHandler,FrmSetGadgetHandler()|Palm OS Programmer's API Reference/11-2}} を使ってセットすることができます。 多くのフォーム関数(例えば、{{goto FrmGetObjectType,FrmGetObjectType()}}, {{goto FrmHideObject,FrmHideObject()|Palm OS Programmer's API Reference/11-2}}, {{goto FrmGetObjectBounds,FrmGetObjectBounds()}})は引数の 1 つとしてオブジェクトのインデックスをとります。オブジェクトのインデックスを取得する最も一般的な方法は、{{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を呼び出すことです。{{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} は引数としてフォームへのポインタとオブジェクトの ID をとり(訳者注: 原文では form ID となっていたが誤りと思われる)、フォーム オブジェクトのインデックスを返します。このルーチンは最も多くのケースで使われるものです。なぜなら、アプリケーションは通常オブジェクト ID を知っているからです。しかしながら、ガゼット -- 明確に言えば拡張ガゼット -- は、ID ではなくガゼット ポインタを返すコールバック関数を含む API を持ちます。そのようなケースでは、オブジェクト インデックスを取得する(それにより {{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} API が使用可能になる)唯一の方法は、{{goto FrmGetObjectIndexFromPtr,FrmGetObjectIndexFromPtr()}} を使用することです。 Palm OS 4.0 以前のシステムで同じ機能が必要な場合、以下のコードで同じことを実現できます。 UInt16 index; UInt16 objIndex = frmInvalidObjectId; UInt16 numObjects = FrmGetNumberOfObjects(frmP) for (index = 0; index < numObjects; index++) { if (FrmGetObjectPtr(index) == myObjPtr) { // Found it objIndex = index; break; } } Palm OS 3.5 より前のリリースでは、{{span style='color:blue;font-family:monospace;',attr}} フィールドは {{goto FormObjectAttrType,FormObjectAttrType}} であり、{{span style='color:blue;font-family:monospace;',handler}} フィールドは存在しません。 !{{anchor FormGadgetTypeInCallback}}FormGadgetTypeInCallback 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormGadgetTypeInCallback}} 構造体は拡張ガゼット ハンドラに渡されます。またこの構造体は、{{span style='color:blue;font-family:monospace;',DO_NOT_ALLOW_ACCESS_TO_INTERNALS_OF_STRUCTS}} が定義されているときは構造体の内容が隠され'''ない'''点を除き、{{goto FormGadgetType,FormGadgetType}} と同じです。この構造体により、拡張ガゼット コールバック関数から拡張ガゼット構造体の内容に自由にアクセスすることが可能になります。 '''Prototype''' typedef struct { UInt16 id; FormGadgetAttrType attr; RectangleType rect; const void *data; FormGadgetHandlerType *handler; } FormGadgetTypeInCallback; '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **ガゼット リソースの ID。 *{{span style='color:blue;font-family:monospace;',attr}} **{{goto FormGadgetAttrType,FormGadgetAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',rect}} **オブジェクトの位置とサイズ。 *{{span style='color:blue;font-family:monospace;',data}} **保存される必要のあるすべてのデータへのポインタ。 *{{span style='color:blue;font-family:monospace;',handler}} **ガゼットの振る舞いとイベントへの応答を制御するコールバック関数へのポインタ。 多くのフォーム関数(例えば、{{goto FrmGetObjectType,FrmGetObjectType()}}, {{goto FrmHideObject,FrmHideObject()|C/C++ Sync Suite Reference601/11-2}}, {{goto FrmGetObjectBounds,FrmGetObjectBounds()}})は引数の 1 つとしてオブジェクトのインデックスをとります。オブジェクトのインデックスを取得する最も一般的な方法は、{{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を呼び出すことです。{{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} は引数としてフォームへのポインタとオブジェクトの ID をとり(訳者注: 原文では form ID となっていたが誤りと思われる)、フォーム オブジェクトのインデックスを返します。このルーチンは最も多くのケースで使われるものです。なぜなら、アプリケーションは通常オブジェクト ID を知っているからです。しかしながら、ガゼット -- 明確に言えば拡張ガゼット -- は、ID ではなくガゼット ポインタを返すコールバック関数を含む API を持ちます。そのようなケースでは、オブジェクト インデックスを取得する(それにより {{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} API が使用可能になる)唯一の方法は、{{goto FrmGetObjectIndexFromPtr,FrmGetObjectIndexFromPtr()}} を使用することです。 Palm OS 4.0 以前のシステムで同じ機能が必要な場合、以下のコードで同じことを実現できます。 UInt16 index; UInt16 objIndex = frmInvalidObjectId; UInt16 numObjects = FrmGetNumberOfObjects(frmP) for (index = 0; index < numObjects; index++) { if (FrmGetObjectPtr(index) == myObjPtr) { // Found it objIndex = index; break; } } '''互換性''' Palm OS 4.0 SDK Update 1 で導入されました。 !{{anchor FormLabelType}}FormLabelType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormLabelType}} 構造体はフォーム上に現れるラベルを定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormLabelType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormLabelType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 id; PointType pos; FormObjAttrType attr; FontID fontID; UInt8 reserved; Char *text; } FormLabelType; コードは {{span style='color:blue;font-family:monospace;',FormLabelType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **ラベルの ID。 *{{span style='color:blue;font-family:monospace;',pos}} **ラベルの位置。 *{{span style='color:blue;font-family:monospace;',attr}} **{{goto FormaObjectType,FormObjectType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',fontID}} **ラベルに使用されるフォントのフォント ID。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',text}} **ラベルのテキスト。 !{{anchor FormLineType}}FormLineType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormLineType}} 構造体はフォーム上に現れる線を定義します。 '''Prototype''' typedef struct { FormObjAttrType attr; PointType point1; PointType point2; } FormLineType; コードは {{span style='color:blue;font-family:monospace;',FormLineType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',attr}} **{{goto FormObjectType,FormObjectType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',point1}} **線の開始位置。 *{{span style='color:blue;font-family:monospace;',point2}} **線の終了位置。 !{{anchor FormObjAttrType}}FormObjAttrType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormObjAttrType}} ビット フィールドはフォーム オブジェクトの属性を定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormObjAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormObjAttrType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 usable : 1; UInt16 reserved : 15; } FormObjAttrType; コードは {{span style='color:blue;font-family:monospace;',FormObjAttrType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',usable}} **セットされていない場合、オブジェクトはアプリケーションの現在のインターフェイスの一部とは見なされず、スクリーン上にも現れません。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 !{{anchor FormObjectType}}FormObjectType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormObjectType}} 共用体(訳者注: 原文では union)は、フォーム上に現れるユーザ インターフェイス オブジェクトのための C 構造体を指します。 '''Prototype''' typedef union { void *ptr; FieldType *field; ControlType *control; GraphicControlType *graphicControl; SliderControlType *sliderControl; ListType *list; TableType *table; FormBitmapType *bitmap; FormLabelType *label; FormTitleType *title; FormPopupType *popup; FormGraffitiStateType *grfState; FormGadgetType *gadget; ScrollBarType *scrollBar; } FormObjectType; コードは {{span style='color:blue;font-family:monospace;',FormObjectType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',ptr}} **オブジェクトのタイプが以下で指定されるものの 1 つではない場合に使用されます。 *{{span style='color:blue;font-family:monospace;',field}} **テキスト フィールドの構造体。{{goto FieldType,FieldType|Palm OS Programmer's API Reference/9}} を参照してください。 *{{span style='color:blue;font-family:monospace;',control}} **コントロールの構造体。{{goto ControlType,ControlType|Palm OS Programmer's API Reference/7}} を参照してください。 *{{span style='color:blue;font-family:monospace;',graphicControl}} **グラフィック ボタン構造体。{{goto GraphicControlType,GraphicControlType|Palm OS Programmer's API Reference/7}} を参照してください。 *{{span style='color:blue;font-family:monospace;',sliderControl}} **スライダ コントロール構造体。{{goto SliderControlType,SliderControlType|Palm OS Programmer's API Reference/7}} を参照してください。 *{{span style='color:blue;font-family:monospace;',control}} **リスト オブジェクトの構造体。{{goto ListType,ListType|Palm OS Programmer's API Reference/14}} を参照してください。 *{{span style='color:blue;font-family:monospace;',table}} **テーブル構造体。{{goto TableType,TableType|Palm OS Programmer's API Reference/20}} を参照してください。 *{{span style='color:blue;font-family:monospace;',bitmap}} **フォーム ビットマップの構造体。{{goto FormBitmapType,FormBitmapType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',label}} **ラベルの構造体。{{goto FormLabelType,FormLabelType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',title}} **フォーム タイトルの構造体。{{goto FormTitleType,FormTitleType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',popup}} **ポップアップ リストの構造体。{{goto FormPopupType,FormPopupType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',grfState}} **シフト指示子の構造体。{{goto FrmGraffitiStateType,FrmGraffitiStateType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',gadget}} **ガゼット(カスタム UI リソース)構造体。{{goto FormGadgetType,FormGadgetType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',scrollbar}} **スクロール バーの構造体。{{goto ScrollBarType,ScrollBarType|Palm OS Programmer's API Reference/18}} を参照してください。 '''互換性''' {{span style='color:blue;font-family:monospace;',graphicControl}} と {{span style='color:blue;font-family:monospace;',sliderControl}} は、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、定義されます。 !{{anchor FormObjListType}}FormObjListType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormObjListType}} 構造体はフォーム上に現れるユーザ インターフェイス オブジェクトを指定します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormObjListType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormObjListType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { FormObjectKind objectType; UInt8 reserved; FormObjectType object; } FormObjListType; コードは {{span style='color:blue;font-family:monospace;',FormObjListType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',objectType}} **オブジェクトのタイプ(コントロール、フィールドなど)を指定します。{{goto FormObjectKind,FormObjectKind}} を参照してください。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',object}} **オブジェクトを定義する C データ構造体。{{goto FormObjectType,FormObjectType}} を参照してください。 !{{anchor FormPopupType}}FormPopupType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormPopupType}} 構造体はフォーム上に現れるポップアップ リストを定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormPopupType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormPopupType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { UInt16 controlID; UInt16 listID; } FormPopupType; コードは {{span style='color:blue;font-family:monospace;',FormPopupType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',controlID}} **リストの表示を引き起こすリスト オブジェクトのリソース ID。 *{{span style='color:blue;font-family:monospace;',listID}} **ポップアップ リストを定義するリスト オブジェクトのリソース ID。 !{{anchor FormPtr}}FormPtr Typeder {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormPtr}} 型は {{goto FormType,FormType}} 構造体へのポインタを定義します。 '''Prototype''' typedef FormType *FormPtr; !{{anchor FormRectangleType}}FormRectangleType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormRectangleType}} 構造体はフォーム上に現れる Rectangle (四角形)を定義します。 '''Prototype''' typedef struct { FormObjAttrType attr; RectangleType rect; } FormRectangleType; コードは {{span style='color:blue;font-family:monospace;',FormRectangleType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',attr}} **{{goto FormObjAttrType,FormObjAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',rect}} **Rectangle の位置とサイズ。 !{{anchor FormTitleType}}FormTitleType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormTitleType}} 構造体はフォームのタイトルを定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormTitleType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormTitleType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { RectangleType rect; char *text; } FormTitleType; コードは {{span style='color:blue;font-family:monospace;',FormTitleType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',rect}} **タイトル エリアの位置とサイズ。 *{{span style='color:blue;font-family:monospace;',text}} **タイトルのテキスト。 !{{anchor FormType}}FormType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormType}} 構造体とそれをサポートする構造体は以下で定義されます。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FormType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct { WindowType window; UInt16 formId; FormAttrType attr; WinHandle bitsBehindForm; FormEventHandlerType *handler; UInt16 focus; UInt16 defaultButton; UInt16 helpRscId; UInt16 menuRscId; UInt16 numObjects; FormObjListType *objects; } FormType; コードは {{span style='color:blue;font-family:monospace;',FormType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',window}} **フォームと関連するウィンドウ オブジェクトの構造体。{{goto WindowType,WindowType{Palm OS Programmer's API Reference/59}} を参照してください。{{goto FrmGetWindowHandle,FrmGetWindowHandle()}} を使ってこのフィールドにアクセスします。 *{{span style='color:blue;font-family:monospace;',formId}} **アプリケーション開発者によって指定されるフォームの ID 番号。この ID 値は {{goto frmOpenEvent,frmOpenEvent|Palm OS Programmer's API Reference/2}} のイベント データの一部になります。この ID はフォームのリソース ID と一致するべきです。{{goto FrmGetFormId,FrmGetFormId()}} を使ってこのフィールドにアクセスします。 *{{span style='color:blue;font-family:monospace;',attr}} **フォーム オブジェクト属性。{{goto FormAttrType,FormAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',bitsBehindForm}} **フォームの背後にあるすべてのビットを保存するために使用されます。保存することにより、フォームがクローズされたときにスクリーンを適切にリフレッシュすることができます。このフィールドはモーダル フォーム({{goto modal,訳者注}})によって内部的に使用されるのみです。 *{{span style='color:blue;font-family:monospace;',handler}} **フォームがイベントをハンドルする必要があるときに呼び出されるルーチン。通常、これは {{goto FrmSetEventHandler,FrmSetEventHandler()|Palm OS Programmer's API Reference/11-2}} の呼び出しによってアプリケーションのイベント ハンドル用関数にセットされます。 *{{span style='color:blue;font-family:monospace;',focus}} **フォーカスを保持するフォームの中のフィールドまたはテーブル オブジェクトのインデックス。すべての {{goto keyDownEvent,keyDownEvent|Palm OS Programmer's API Reference/2}} はフォーカスを持つオブジェクトに渡されます。フォーカスを持つオブジェクトが無い場合は {{span style='color:blue;font-family:monospace;',noFocus}} をセットします。 *{{span style='color:blue;font-family:monospace;',defaultButton}} **デフォルト ボタンとして定義されているオブジェクトのリソース ID。この値はルーチン {{goto FrmDoDialog,FrmDoDialog()}} によって使用されます。 *{{span style='color:blue;font-family:monospace;',helpRscId}} **ヘルプ リソースのリソース ID 番号。ヘルプ リソースは文字列リソース(tSTR 型)です。 *{{span style='color:blue;font-family:monospace;',menuRscId}} **フォームがメニューを持つ場合に使用されるメニュー バーの ID 番号。フォームがメニューを持たない場合は 0。 *{{span style='color:blue;font-family:monospace;',numObjects}} **フォーム内部で保持されるオブジェクトの数。{{goto FrmGetNumberOfObjects,FrmGetNumberOfObjects()}} を使用してこのフィールドにアクセスします。 *{{span style='color:blue;font-family:monospace;',objects}} **フォーム内部で保持されるオブジェクトの配列へのポインタ。{{goto FormObjListType,FormObjListType}} を参照してください。 !{{anchor FrmGraffitiStateType}}FrmGraffitiStateType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FrmGraffitiStateType}} 構造体はシフト指示子を定義します。 //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FrmGraffitiStateType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',FrmGraffitiStateType}} 構造体の下位互換をサポートしません。この構造体のメンバに直接アクセスしてはいけません。そのようなコードは、将来のバージョンでは機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 '''Prototype''' typedef struct{ PointerType pos; }FrmGraffitiStateType; コードは {{span style='color:blue;font-family:monospace;',FormGraffitiStateType}} 構造体を実体の無いものとして扱うべきです。構造体メンバ値を直接変更しようとしてはいけません。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',pos}} **シフト指示子の位置。 !{{anchor FrmNavHeaderType}}FrmNavHeaderType 構造体 {{goto top,^TOP^}} '''目的''' フォームのナビゲーション順のためのヘッダ情報を保持します。与えられたフォームのためのこの構造体を取得するには、{{goto FrmGetNavOrder,FrmGetNavOrder()}} を呼び出します。セットするには {{goto FrmSetNavOrder,FrmSetNavOrder()|Palm OS Programmer's API Reference/11-2}} を呼び出します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef struct FrmNavHeaderTag { UInt16 version; UInt16 numberOfObjects; UInt16 headerSizeInBytes; UInt16 listElementSizeInBytes; FrmNavHeaderFlagsType navFlags; UInt16 initialObjectIDHint; UInt16 jumpToObjectIDHint; UInt16 bottomLeftObjectIDHint; UInt16 padding1; } FrmNavHeaderType '''フィールド''' *{{span style='color:blue;font-family:monospace;',version}} **デバイスによって使用されるこの構造体のバージョン。{{span style='color:blue;font-family:monospace;',Form.h}} で定義されるこの構造体のバージョンは {{span style='color:blue;font-family:monospace;',kFrmNavInfoVersion}} によって指定されます。 *{{span style='color:blue;font-family:monospace;',numberOfObjects}} **このフォームのためのナビゲーション順の中にあるオブジェクトの数。 *{{span style='color:blue;font-family:monospace;',headerSizeInBytes}} **このヘッダ構造体のサイズをバイト数で。バージョン 1 構造体は 20 バイトあります。 *{{span style='color:blue;font-family:monospace;',listElementSizeInBytes}} **ナビゲーション順の中の各オブジェクトを表すために使用される {{goto FrmNavOrderEntryType,FrmNavOrderEntryType}} 構造体のサイズ。 *{{span style='color:blue;font-family:monospace;',navFlags}} **{{goto FrmNavHeaderFlagsType,FrmNavHeaderFlagsType}} でリストされているフラグの組み合わせ。これらのフラグはフォームの初期フォーカス モードを指定します。 *{{span style='color:blue;font-family:monospace;',initialObjectIDHint}} **フォームが初期化されたときにフォーカスが位置するオブジェクトの ID。{{span style='color:blue;font-family:monospace;',initialObjectIDHint}} が 0 の場合、OS は初期フォーカスを最初のアクション ボタン(がある場合は)に置きます。また、ボタンが無い場合は、タブ順が最初のオブジェクトをフォーカスします。 *{{span style='color:blue;font-family:monospace;',jumpToObjectIDHint}} **フォーカスが「ジャンプ」できるオブジェクトの ID。ただし、デバイスがこの機能をサポートする場合です。デバイスは、オプションとして、フォーカスを使用頻度の高いオブジェクトに移動させるアクション トリガを持つことができます。 *{{span style='color:blue;font-family:monospace;',bottomLeftObjectIDHint}} **垂直に巡回するプラットフォームに対して、このフィールドは、フォームの最初の行に位置するオブジェクト({{span style='color:blue;font-family:monospace;',aboveObjectID}}[{{goto FrmNavOrderEntryType,FrmNavOrderEntryType}} を参照]が 0 のオブジェクト)からナビゲーションが上に移動するとき、どのオブジェクトがフォーカスを受け取るのかを指定します。0 の {{span style='color:blue;font-family:monospace;',bottomLeftObjectIDHint}} 値はフォーカスがフォームの中を垂直には巡回しないことを意味します。 *{{span style='color:blue;font-family:monospace;',padding1}} **構造体が埋めるバイト。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor FrmNavOrderEntryType}} FrmNavOrderEntryType 構造体 {{goto top,^TOP^}} '''目的''' フォーカスを移動させることを目的としたキーを使用したとき、与えられた UI オブジェクトからどのようにナビゲーションがアップまたはダウンするかを定義します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef struct FrmNavOrderEntryTag { UInt16 objectID; FrmNavObjectFlagsType objectFlags; UInt16 aboveObjectID; UInt16 belowObjectID; } FrmNavOrderEntryType '''フィールド''' *{{span style='color:blue;font-family:monospace;',objectID}} **ナビゲーション順の中のオブジェクトの ID。 *{{span style='color:blue;font-family:monospace;',objectFlags}} **{{goto FrmNavObjectFlagsType,FrmNavObjectFlagsType}} で定義されている 1 つまたはそれ以上のフラグ。 *{{span style='color:blue;font-family:monospace;',aboveObjectID}} **記述されているオブジェクト(訳者注: {{span style='color:blue;font-family:monospace;',objectID}} で指定されるオブジェクトのことだと思われる)の上に位置するオブジェクトの ID。記述されているオブジェクトがフォームの最初の行にある場合、0 にすべきです。ユーザがこの値が 0 のオブジェクトからナビゲーション アップする場合、いくつかのプラットフォームはフォーカスをフォームの {{goto FrmNavHeaderType,FrmNavHeaderType}} 構造体の中の {{span style='color:blue;font-family:monospace;',bottomLeftObjectIDHint}} で指定されるオブジェクトに移動させます。 *{{span style='color:blue;font-family:monospace;',belowObjectID}} **記述されているオブジェクトの下に位置するオブジェクトの ID。オブジェクトがフォームの一番下の行にある場合、0 にすべきです。ユーザがこの値が 0 のオブジェクトからナビゲーション ダウンする場合、いくとかのプラットフォームはフォーカスをタブ順が最初のオブジェクトに移動させます。 '''コメント''' 与えられたフォームに対して、{{goto FrmGetNavOrder,FrmGetNavOrder()}} を呼び出すことでこのタイプの構造体の配列を取得できます。フォームに対してナビゲーション順がセットするとき、これらの構造体 -- 1 つの構造体がナビゲーション順の中の 1 つの UI オブジェクトのためにある -- の配列を作成し、それからその配列のアドレスを {{goto FrmSetNavOrder,FrmSetNavOrder()|Palm OS Programmer's API Reference/11-2}} に渡します。 //---- //'''NOTE:''' {{goto FrmSetNavOrder,FrmSetNavOrder()|Palm OS Programmer's API Reference/11-2}} はナビゲーション リソースの内容を置き換えることを意図してはいません。カスタム ナビゲーション順を持つことを必要とするフォームは'''常に'''ナビゲーション リソースを敵供すべきです。{{span style='color:blue;font-family:monospace;',FrmSetNavOrder()}} は、主に、動的に作成されるフォームまたはナビゲーション リソースを持つがフォームの初期化後に順番を変更するフォームのためにあります。 //---- ::NOTE :::{{goto FrmSetNavOrder,FrmSetNavOrder()|Palm OS Programmer's API Reference/11-2}} はナビゲーション リソースの内容を置き換えることを意図してはいません。カスタム ナビゲーション順を持つことを必要とするフォームは'''常に'''ナビゲーション リソースを敵供すべきです。{{span style='color:blue;font-family:monospace;',FrmSetNavOrder()}} は、主に、動的に作成されるフォームまたはナビゲーション リソースを持つがフォームの初期化後に順番を変更するフォームのためにあります。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !!{{anchor Form Constants}}フォーム定数 {{goto top,^TOP^}} !{{anchor AlertType}}AlertType 列挙体(Enum) {{goto top,^TOP^}} '''目的''' この定数はユーザに示されるアラートのタイプを定義します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef enum alertTypes AlertType; '''定数''' *{{span style='color:blue;font-family:monospace;',informationAlert}} **ユーザに致命的ではない状況を単純に知らせるアラート。 *{{span style='color:blue;font-family:monospace;',confirmationAlert}} **ユーザが表示された情報を確認することを要求するアラート。 *{{span style='color:blue;font-family:monospace;',warningAlert}} **ユーザに深刻かもしれない状態を知らせるためのアラート。 *{{span style='color:blue;font-family:monospace;',errorAlert}} **ユーザにエラーが起こったことを知らせるためのアラート。 !{{anchor FormObjectKind}} 列挙体(Enum) {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FormObjectKind}} 列挙体は {{goto FormObjListType,FormObjListType}} の {{span style='color:blue;font-family:monospace;',objectType}} フィールドのための値を指定します。この列挙体は {{span style='color:blue;font-family:monospace;',object}} フィールドをどのように解釈するかを指定します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef enum formObjects FormObjectKind; '''定数''' *{{span style='color:blue;font-family:monospace;',frmFieldObj}} **テキスト フィールド *{{span style='color:blue;font-family:monospace;',frmControlObj}} **コントロール *{{span style='color:blue;font-family:monospace;',frmListObj}} **リスト *{{span style='color:blue;font-family:monospace;',frmTableObj}} **テーブル *{{span style='color:blue;font-family:monospace;',frmBitmapObj}} **フォーム ビットマップ *{{span style='color:blue;font-family:monospace;',frmLineObj}} **線 *{{span style='color:blue;font-family:monospace;',frmFrameObj}} **フレーム *{{span style='color:blue;font-family:monospace;',frmRectangleObj}} **Rectangle(四角形) *{{span style='color:blue;font-family:monospace;',frmLabelObj}} **ラベル *{{span style='color:blue;font-family:monospace;',frmTitleObj}} **フォーム タイトル *{{span style='color:blue;font-family:monospace;',frmPopupObj}} **ポップアップ リスト *{{span style='color:blue;font-family:monospace;',frmGraffitiStateObj}} **Graffiti または Graffiti 2 シフト指示子 *{{span style='color:blue;font-family:monospace;',frmGadgetObj}} **ガゼット(カスタム オブジェクト) *{{span style='color:blue;font-family:monospace;',frmScrollBarObj}} **スクロール バー !{{anchor FrmNavFocusRingStylrEnum}}FrmNavFocusRingStyleEnum Typedef {{goto top,^TOP^}} '''目的''' この列挙体の定数はフォーカス リング スタイルを示します。 '''宣言されてる場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef UInt16 FrmNavFocusRingStyleEnum '''定数''' *{{span style='color:blue;font-family:monospace;',frmNavFocusRingStyleObjectTypeDefault = 0}} **下にある(訳者注: 原文は underlying)オブジェクトに一致するフォーカス リングを使用します。 *{{span style='color:blue;font-family:monospace;',frmNavFocusRingStyleSquare = 1}} **角ばった四隅を持つ四角形のフォーカス リング。 *{{span style='color:blue;font-family:monospace;',frmNavFocusRingStyleRound = 2}} **丸まった四隅を持つ四角形のフォーカス リング。 *{{span style='color:blue;font-family:monospace;',frmNavFocusRingStyleHorizontalBars = 3}} **単純に水平な線を持つフォーカス リング。 *{{span style='color:blue;font-family:monospace;',frmNavFocusRingStyleInvalid = 0xFFFF}} **{{goto FrmNavGetFocusRingInfo,FrmNavGetFocusRingInfo()|Palm OS Programmer's API Reference/11-2}} によって返されるリング スタイルが無効であることを示すための値。 '''コメント''' フォーム オブジェクトのリング スタイルを {{goto FrmNavDrawFocusRing,FrmNavDrawFocusRing()|Palm OS Programmer's API Reference/11-2}} を使ってセットします。存在しているオブジェクトのリング スタイルを、{{goto FrmNavGetFocusRingInfo,FrmNavGetFocusRingInfo()|Palm OS Programmer's API Reference/11-2}} を呼び出すことで、調べることができます。 選択されたフォーカス リング スタイルがデバイスでサポートされない場合、{{goto FrmNavDrawFocusRing,FrmNavDrawFocusRing()|Palm OS Programmer's API Reference/11-2}} は代わりとして {{span style='color:blue;font-family:monospace;',frmNavFocusRingStyleObjectTypeDefault}} を使用します。{{span style='color:blue;font-family:monospace;',frmNavFocusRingStyleHorizontalBars}} はすべてのデバイスでサポートされないことに注意してください。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !{{anchor FrmNavHeaderFlagsType}}FrmNavHeaderFlagsType Typedef {{goto top,^TOP^}} '''目的''' フォーム ナビゲーション フラグは主にフォームの初期フォーカス モードを指定します(アプリケーション フォーカス モードまたはオブジェクト フォーカス モード)。これらのフラグは {{goto FrmNavHeaderType,FrmNavHeaderType}} 構造体の {{span style='color:blue;font-family:monospace;',navFlags}} フィールドを作成します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef UInt32 FrmNavHeaderFlagsType '''定数''' *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsAppFocusStartState 0x00000002}} **このフラグがセットされている場合、フォームの初期状態はアプリケーション フォーカス モードになります。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsAppFocusStartStateValue 0x00000002}} **{{span style='color:blue;font-family:monospace;',kFrmNavHeaderFlagsStartStateMask}} でフラグ ビットにマスクをかけた後、その結果は、フォームの初期状態がアプリケーション フォーカス モードになるかどうかを調べるために、この値と比較することができます。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsAutoGenerated 0x80000000}} *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsDefaultStartStateValue 0x00000000}} **{{span style='color:blue;font-family:monospace;',kFrmNavHeaderFlagsStartStateMask}} でフラグ ビットにマスクをかけた後、その結果は、フォームの初期フォーカス モードがシステムによって選択されるかどうかを調べるために、この値と比較することができます。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsInvalidStartStateValue 0x00000003}} **{{span style='color:blue;font-family:monospace;',kFrmNavHeaderFlagsStartStateMask}} でフラグ ビットにマスクをかけた後、その結果は、フォーカス モード フラグが不適切にセットされているかどうかを調べるために、この値と比較することができます。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsObjectFocusStartState 0x00000001}} **このフラグがセットされている場合、フォームの初期状態はオブジェクト フォーカス モードになります。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsObjectFocusStartStateValue 0x00000001}} **{{span style='color:blue;font-family:monospace;',kFrmNavHeaderFlagsStartStateMask}} でフラグ ビットにマスクをかけた後、その結果は、フォームの初期状態がオブジェクト フォーカス モードになるかどうかを調べるために、この値と比較することができます。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavHeaderFlagsStartStateMask 0x00000003}} **「初期状態(訳者注: 原文は start state)」ビットを孤立させ、その結果を値として扱うことを可能にするマスク。マスクをかけた結果は、初期状態を調べるために {{span style='color:blue;font-family:monospace;',kFrmNavHeaderFlags...StartStateValue}} 定数のいずれかと比較することができます。 '''コメント''' {{span style='color:blue;font-family:monospace;',kFrmNavHeaderFlagsObjectFocusStartState nor}} も {{span style='color:blue;font-family:monospace;',kFrmNavHeaderFlagsAppFocusStartState}} もセットされていない場合、システムがフォームの初期状態をオブジェクト フォーカス モードにするかアプリケーション フォーカス モードにするかを決定します。両方のフラグがセットされている場合、エラーになります。 '''例''' 以下のコードは、フォームの初期状態がシステムによって決定されるかどうかをどのようにチェックするかを示しています。 if ( (navFlags & kFrmNavHeaderFlagsStartStateMask) == kFrmNavHeaderFlagsDefaultStartStateValue)) { // Form's initial state is decided by system } '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !{{anchor FrmNavObjectFlagsType}}FrmNavObjectFlagsType Typedef {{goto top,^TOP^}} '''目的''' ナビゲーション オブジェクトの異なる側面を指定するフラグ。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef UInt16 FrmNavObjectFlagsType '''定数''' *{{span style='color:blue;font-family:monospace;',#define kFrmNavObjectFlagsForceInteractionMode 0x0002}} **複数行のテキスト フィールドに使用されます。このフラグがセットされている場合、フィールドがフォーカスを受け取ると、フォームは相互作用モードに入ります。セットされていない場合、フィールドがフォーカスを受け取ると、フィールドはフォーカスされてた状態で描画され、非相互作用モード状態になります。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavObjectFlagsIsBigButton 0x8000}} **オブジェクトは「大ボタン(訳者注: big button)」になります。大ボタンは palmOne(訳者注: Palm のハードウェアの製造・販売を行う会社)によって作成された UI オブジェクトの 1 タイプです。基本的に、大ボタンはビットマップとテキストを持つ thumbable (訳者: ??)ボタンです。これらはガゼットとして実装されます。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavObjectFlagsSkip 0x0001}} **このフラグがセットされている場合、フォーカスがオブジェクトからオブジェクトへと移動するとき、このフラグを持つオブジェクトはスキップされます。このオブジェクトは、明示的にフォーカスを取得するとき(これは主に、フィールド、フィールドを持つテーブル、ポップアップ トリガ、セレクタ トリガが、ペンでタップされることにより、フォーカスを取得するときに起こります)にのみ、順番(順序)に含まれます。 '''コメント''' ナビゲーション順の中にある与えられたコントロールのためのフラグは {{goto FrmGetNavEntry,FrmGetNavEntry()}} を呼び出すことによって取得することができます。{{goto FrmSetNavEntry,FrmSetNavEntry()|Palm OS Programmer's API Reference/11-2}} を呼び出すことにより、コントロールに対してそれらのフラグをセットすることができます。両方のケースで、フラグは {{goto FrmNavOrderEntryType,FrmNavOrderEntryType}} 構造体のフィールドの 1 つです。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !{{anchor FrmNavStateFlagsType}}FrmNavStateFlagsType Typedef {{goto top,^TOP^}} '''目的''' フォームのナビゲーション状態を定義するフラグ。フォームのナビゲーション状態を取得するには {{goto FrmGetNavState,FrmGetNavState()}} を使用します。セットするには、{{goto FrmSetNavState,FrmSetNavState()|Palm OS Programmer's API Reference/11-2}} を使用します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' typedef UInt32 FrmNavStateFlagsType '''定数''' *{{span style='color:blue;font-family:monospace;',#define kFrmNavStateFlagsInteractionMode 0x00000001}} **フォームは「相互作用モード」になっています。このビットがセットされていない場合、フォームは「ナビゲーション モード」になっています。これらのモードが意味することについての情報は、以下のコメントを参照してください。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavStateFlagsObjectFocusMode 0x00000002}} **フォームは「オブジェクト フォーカス モード」になっています。このビットがセットされていない場合、フォームは「アプリケーション フォーカス モード」になっています。これらのモードが意味することについての情報は、以下のコメントを参照してください。 '''コメント''' '''相互作用モードとナビゲーション モード''' より複雑なオブジェクトは、スクロール キーと相互作用するために、それらスクロール キーを「引き継ぐ」必要があります。例えば、テキスト フィールドはカーソルを移動させるために全部で 4 つのスクロール キーを割り当てる必要があります。同様に、ポップアップ リストはリストの選択を変更するためにアップ キーとダウン キーを使用する必要があります。このことは、オブジェクト間をナビゲートするためにスクロール キーを使用するという要求と衝突します。結果として、これらの複雑なオブジェクトは'''相互作用モード'''(このモードではオブジェクトがキーの制御を引き継ぎます)を持つ必要があります。相互作用モードと対極にあるのが'''ナビゲーション モード'''です。このモードではスクロール キーはオブジェクト間のナビゲートに使用されます。One-Handed navigation (訳者注: 片手でのナビゲーション)を持つシステムでは、「中央」キーを押すことで相互作用モードとナビゲーション モードを切り替えます。最後に、相互作用モードの部分集合(subset)は編集モードです。編集モードは明確にテキスト フィールドを参照します。 '''オブジェクト フォーカス モードとアプリケーション フォーカス モード''' 相互作用モードとナビゲーション モードは palmOne(訳者注: Palm のハードウェアの製造・販売を行う会社)のコンセプトです。PalmSource(訳者注: 現 ACCESS、Palm のソフトウェア開発を行う会社)はアプリケーション フォーカス モードとオブジェクト フォーカス モードを定義しました。'''アプリケーション フォーカス モード'''は、キーボード ナビゲーションを使用可能にしないアプリケーションを参照します。この状態では、アップ キーとダウン キーはページ アップとページ ダウンとして機能します。それらは Palm OS がオリジナルのフォームで実装していた伝統的な手法です。'''オブジェクト フォーカス モード'''は、スクリーン上の個々のオブジェクトがフォーカスを受け取ることが可能なモードで、本質的に「ナビゲーション モード」が参照するモードです。 アプリケーションはアプリケーション フォーカス モードとオブジェクト フォーカス モードを切り替えるかもしれませんし、切り替えないかもしれません。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !{{anchor Form Navigation Focus Error Codes}}フォーム ナビゲーション フォーカス エラー コード {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FrmNav...}} と {{span style='color:blue;font-family:monospace;',Frm...Nav...}} 関数によって返されるエラー コード。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''定数''' *{{span style='color:blue;font-family:monospace;',#define uilibErrCurrentFocusInvalid (uilibErrorClass | 2)}} **現在のフォーカス オブジェクトがありません。 *{{span style='color:blue;font-family:monospace;',#define uilibErrFormDoesNotHaveFocus (uilibErrorClass | 7)}} **指定されたフォームは現在フォーカスを持っていません。 *{{span style='color:blue;font-family:monospace;',#define uilibErrInvalidFocusObject (uilibErrorClass | 6)}} **フォーカスが移されるべきコントロールに使用可能のマークが付いていません。 *{{span style='color:blue;font-family:monospace;',}}#define uilibErrInvalidParam (uilibErrorClass | 1)}} **提供されたパラメータのうち少なくとも 1 つが無効です。 **{{span style='color:blue;font-family:monospace;',#define uilibErrNoNavInfoForForm (uilibErrorClass | 5)}} **指定されたフォームはナビゲーション情報を持っていません。 *{{span style='color:blue;font-family:monospace;',#define uilibErrObjectFocusModeOff (uilibErrorClass | 3)}} **指定されたフォームはオブジェクト フォーカス モードになっていません。このエラー コードはまた、Palm OS Glue ライブラリの中の {{span style='color:blue;font-family:monospace;',FrmGlueNav...}}関数に対して、デバイスが One-handed navigation をサポートしていないことを示すためにも使用されます。 *{{span style='color:blue;font-family:monospace;',#define uilibErrObjectNotFound (uilibErrorClass | 4)}} **システムが描画するフォーカス リングを持つオブジェクトがありません。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !{{anchor Form Dynamic Input Area Policies}}フォームの動的入力エリアのポリシー {{goto top,^TOP^}} '''目的''' 動的入力エリアのポリシーは、フォームがアクティブな間どのように動的入力エリアがハンドルされるべきかを指定します。これらの値はフォームの属性構造体の中の {{span style='color:blue;font-family:monospace;',diaPolicy}} 属性のために使用されます。これらの値を {{goto FrmSetDIAPolicyAttr,FrmSetDIAPolicyAttr()|Palm OS Programmer's API Reference/11-2}} でセットでき、{{goto FrmGetDIAPolicyAttr,FrmGetDIAPolicyAttr()}} で取得することができます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''定数''' *{{span style='color:blue;font-family:monospace;',#define frmDIAPolicyCustom 1}} **ユーザとアプリケーションが、入力エリアがアクティブかどうかを制御します。 *{{span style='color:blue;font-family:monospace;',#define frmDIAPolicyStayOpen 0}} **フォームがアクティブな間、動的入力エリアにオープンされたままでいることを強制します。入力トリガは使用不可です。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !{{anchor Miscellaneous Form Constants}}その他のフォーム定数 {{goto top,^TOP^}} '''目的''' これらのフォーム定数もまた定義されます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''定数''' *{{span style='color:blue;font-family:monospace;',#define formNavRscType 'fnav'}} **({{span style='color:blue;font-family:monospace;',UIResources.h}} の中で定義されています。)ナビゲーション リソースのリソース タイプです。この定数は 68K フォーマット(big endian)リソースとして定義されています。 *{{span style='color:blue;font-family:monospace;',#define frmInvalidObjectId 0xffff}} **無効なオブジェクト ID またはインデックスを表す定数値です。 *{{span style='color:blue;font-family:monospace;',#define frmNavFocusRingNoExtraInfo ((Int16)0xFFFF)}} **現在のナビゲーション オブジェクトに関連付けられた臨時の情報が無いことを示す値です。フォーカス リングを取得しているオブジェクトに関連するような情報を持たない場合に、この値を {{goto FrmNavDrawFocusRing,FrmNavFocusRing()|Palm OS Programmer's API Reference/11-2}} に渡します。この値は、周りにフォーカス リングが現在描かれているオブジェクトに関連付けられた臨時の情報が無かった場合に、{[goto FrmNavGetFocusRingInfo,FrmNavGetFocusRingInfo()|Palm OS Programmer's API Reference/11-2}} から返されます。 *{{span style='color:blue;font-family:monospace;',#define frmNoSelectedControl 0xff}} **選択されているコントロールが無い場合、{{goto FrmGetControlGroupSelection,FrmGetControlGroupSelection()}} によって返されます。 *{{span style='color:blue;font-family:monospace;',#define frmRedrawUpdateCode 0x8000}} **フォームが描かれるべきであることを示します。{{goto frmUpdateEvent,frmUpdateEvent}} の中にあるフラグです。 *{{span style='color:blue;font-family:monospace;',#define frmResponseCreate 1974}} **関数が初期化を行うべきであることを示すために {{goto FormCheckResponseFuncType,FormCheckResponseFuncType()}} に渡されます。 *{{span style='color:blue;font-family:monospace;',#define frmResponseQuit ((Int16) 0xBEEF)}} **関数がクリーンアップを行うべきであることを示すために {{goto FormCheckResponseFuncType,FormCheckResponseFuncType()}} に渡されます。 *{{span style='color:blue;font-family:monospace;',#define kFrmNavInfoVersion 1}} **{{span style='color:blue;font-family:monospace;',Form.h}} の中で宣言されている {{goto FrmNavHeaderType,FrmNavHeaderType}} と {{goto FrmNavOrderEntryType,FrmNavOrderEntryType}} 構造体のバージョンです。 *{{span style='color:blue;font-family:monospace;',#define noFocus 0xffff}} **フォーカスを持つフォーム オブジェクトはありません。 !{{anchor One-Handed Navigation Trap Selectors}}One-Handed Navigation Trap Selectors {{goto top,^TOP^}} '''目的''' One-handed ナビゲーション関数のためのトラップ セレクタ。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''定数''' *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmCountObjectsInNavOrder 0x0}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmGetNavEntry 0x3}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmGetNavOrder 0x1}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmGetNavState 0x5}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmNavDrawFocusRing 0x7}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmNavGetFocusRingInfo 0x9}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmNavObjectTakeFocus 0xA}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmNavRemoveFocusRing 0x8}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmSetNavEntry 0x4}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmSetNavOrder 0x2}} *{{span style='color:blue;font-family:monospace;',#define NavSelectorFrmSetNavState 0x6}} '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 !!{{anchor Form Resources}}フォーム リソース {{goto top,^TOP^}} 以下のリソースは、フォームと上記で定義されるデータ構造体を持つフォーム上のオブジェクトに関連付けられます。 *フォーム - フォーム リソース (tFRM) *アラート ダイアログ - アラート リソース (Talt) *ビットマップ - フォーム ビットマップ リソース (tFBM) *ボタン - ボタン リソース (tBTN) *チェック ボックス - チェック ボックス リソース (tCBX) *フィールド - フィールド リソース (tFLD) *ガゼット(カスタム オブジェクト) - ガゼット リソース (tGDT) *シフト指示子 - シフト指示子リソース (tGSI) *ラベル - ラベル リソース (tLBL) *リスト - リスト リソース (tLST) *ポップアップ トリガ - ポップアップ トリガ リソース (tPUT) *プッシュ ボタン - プッシュ ボタン リソース (tPBN) *リピート ボタン - リピート ボタン リソース (tREP) *スクロールバー - スクロール バー リソース (tSCL) *セレクタ トリガ - セレクタ トリガ リソース (tSLT) *テーブル - テーブル リソース (tTBL) これらのリソースと他のリソースについての追加情報については、''Palm OS User Interface Guidelines'' を参照してください。 !!{{anchor Form Functions}}フォーム関数 {{goto top,^TOP^}} !{{anchor ECFrmValidatePtr}}ECFrmValidatePtr マクロ {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',ERROR_CHECK_LEVEL}} が {{span style='color:blue;font-family:monospace;',ERROR_CHECK_FULL}} と等しく、指定されたポインタが有効なフォームを参照する場合、{{span style='color:blue;font-family:monospace;',true}} を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',From.h}} '''Prototype''' #define ECFrmValidatePtr ( formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **テストされるポインタ '''返り値''' {{span style='color:blue;font-family:monospace;',ERROR_CHECK_LEVEL}} が {{span style='color:blue;font-family:monospace;',ERROR_CHECK_FULL}} と等しく、指定されたポインタが有効なフォーム構造体を持つオブジェクトを指す {{span style='color:blue;font-family:monospace;',NULL}} ではないポインタである場合、{{span style='color:blue;font-family:monospace;',true}} を返します。 '''コメント''' このマクロは単純に、{{span style='color:blue;font-family:monospace;',ERROR_CHECK_LEVEL}} が {{span style='color:blue;font-family:monospace;',ERROR_CHECK_FULL}} と等しい場合に {{goto FrmValidatePtr,FrmValidatePtr()|Palm OS Programmer's API Reference/11-2}} を呼び出し、等しくない場合は何もしません。{{span style='color:blue;font-family:monospace;',FrmValidatePtr()}} はデバッグ目的のみを意図したものであり、リリースされるコードに含むべきではありません。このマクロは条件付で {{span style='color:blue;font-family:monospace;',FrmValidatePtr()}} 呼び出しをコンパイルするために使用することができます。 '''互換性''' {{span style='color:blue;font-family:monospace;',FrmValidatePtr()}} は、{{goto 3.0 New Feature Set,3.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor FrmAlert}}FrmAlert 関数 {{goto top,^TOP^}} アラート リソースからモーダル ダイアログ({{goto modal,訳者注}})を作成し、ユーザがダイアログのボタンを選択するまでダイアログを表示します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmAlert ( UInt16 alertId ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ alertId}} **アラート リソースの ID。 '''返り値''' ユーザが選択したボタンのアイテム番号を返します。ボタンのアイテム番号はアラート ダイアログの中のボタンの順番によって決定されます。最初のボタンのアイテム番号は 0 です。 //---- //'''NOTE:''' デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 //---- ::NOTE :::デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 '''参照''' {{goto FrmDoDialog,FrmDoDialog()}}, {{goto FrmCustomAlert,FrmCustomAlert()}}, {{goto FrmCustomResponseAlert,FrmCustomResponseAlert()}} !{{anchor FrmCloseAllForms}}FrmCloseAllForms 関数 {{goto top,^TOP^}} '''目的''' オープンされているすべてのフォームに {{goto frmCloseEvent,frmCloseEvent|Palm OS Programmer's API Reference/2}} を送ります。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmCloseAllForms ( void ) '''パラメータ''' ありません。 '''返り値''' 返り値はありません。 '''コメント''' アプリケーションは、{{goto PilotMain,PilotMain()|Palm OS Programmer's API Reference/54}} を抜ける前、つまり、終了する前にすべてのフォームがクローズされていることを保証するために、この関数を呼び出すことができます。 '''参照''' {{goto FrmSaveAllForms,FrmSaveAllForms()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmCopyLabel}}FrmCopyLabel 関数 {{goto top,^TOP^}} '''目的''' 渡された文字列をアクティブなフォームの中の指定されたラベル オブジェクトのデータ構造体にコピーします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmCopyLabel ( FormType *formP, UInt16 labelID, const Char *newLabel ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ labelID}} **フォーム ラベル オブジェクトの ID。 *{{span style='color:blue;font-family:monospace;',→ newLabel}} **null で終了する文字列へのポインタ '''返り値''' 返り値はありません。 '''コメント''' 新しいラベルのサイズはリソースの中で定義されているラベルのサイズを越えては'''いけません'''。リソースの中のラベルを定義するとき、初期サイズとして少なくとも動的に代入されるすべての文字列の最大サイズと同じ大きさを指定してください。この関数は、フォームの {{span style='color:blue;font-family:monospace;',usable}} 属性とラベルの {{span style='color:blue;font-family:monospace;',visible}} 属性がセットされている場合、再描画を行います。 この関数はラベルを再描画しますが、古いラベルを消しません。新しいラベルが古いラベルよりも短い場合、古いラベルの終端が可視のままになります。これを避けるために、{{span style='color:blue;font-family:monospace;',FrmCopyLabel}} 使用後に {{goto FrmHideObjectm,FrmHideObject()|Palm OS Programmer's API Reference/11-2}} を使ってラベルを隠し、それから {{goto FrmShowObject,FrmShowObject()|Palm OS Programmer's API Reference/11-2}} を使ってラベルを表示させることができます。 {{span style='color:blue;font-family:monospace;',FrmCopyLabel}} は渡された文字列をすでにラベルに割り当てられたメモリにコピーすることに注意してください。つまり、渡された文字列は、{{span style='color:blue;font-family:monospace;',FrmCopyLabel}} が返った後に、存在し続ける必要はありません。 '''参照''' {{goto FrmGetLabel,FrmGetLabel()}} !{{anchor FrmCopyTitle}}FrmCopyTitle 関数 {{goto top,^TOP^}} '''目的''' 新しいタイトルをフォームの現在のタイトルにコピーします。フォームが可視の場合、新しいタイトルは再描画されます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmCopyTitle ( FormType *formP, const Char *newTitle ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ newTitle}} **新しいタイトル文字列へのポインタ '''返り値''' 返り値はありません。 '''コメント''' 新しいタイトルのサイズはリソースの中で定義されているタイトルのサイズを越えては'''いけません'''。リソースの中のタイトルを定義するとき、初期サイズとして少なくとも動的に代入されるすべての文字列の最大サイズと同じ大きさを指定してください。 '''参照''' {{goto FrmGetTitle,FrmGetTitle()}}, {{goto FrmSetTitle,FrmSetTitle()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmCountObjectsInNavOrder}}FrmCountObjectsInNavOrder 関数 {{goto top,^TOP^}} '''目的''' フォームのナビゲーション タブ順の中のオブジェクトの数を取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmCountObjectsInNavOrder ( const FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **ナビゲーション情報が取得されるフォームへのポインタ '''返り値''' ナビゲーション タブ順の中のオブジェクトの数。 '''コメント''' フォームがナビゲーション リソースを持たない場合、フォームの中のすべてのオブジェクトがタブ順に含まれます。しかしながら、多くのオブジェクトはスキップされるようマークを付けられることに注意してください。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 '''参照''' {{goto FrmGetNavOrder,FrmGetNavOrder()}} !{{anchor FrmCustomAlert}}FrmCustomAlert 関数 {{goto top,^TOP^}} '''目的''' アラート リソースからモーダル ダイアログ({{goto modal,訳者注}})を作成し、ユーザがダイアログのボタンをタップするまでダイアログを表示します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmCustomAlert ( UInt16 alertId, const Char *s1, const Char *s2, const Char *s3 ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ alertId}} **アラート リソースの ID。 *{{span style='color:blue;font-family:monospace;',"→ s1, s2, s3"}} **^1, ^2, ^3 を置き換えるための文字列(コメントを参照してください)。 '''返り値''' ユーザがタップしたボタンのアイテム番号を返します。(最初のボタンのアイテム番号は 0 です。) '''コメント''' ボタンのアイテム番号はアラート テンプレートの中のボタンの順番によって決定されます。最初のボタンはアイテム番号 0 を持ちます。 3 つまでの文字列をこのルーチンに渡すことができます。それらの文字列は、アラート リソースのメッセージ文字列の中に保持される変数 ^1, ^2, ^3 を置き換えるために使用されます。 変数 ^1, ^2, ^3 がメッセージ文字列の中で使用される場合、引数 {{span style='color:blue;font-family:monospace;',"s1, s2, s3"}} に {{span style='color:blue;font-family:monospace;',NULL}} を渡さないでください。引数を無視したい場合、空文字列("")を渡してください。Palm OS 2.0 以下では空文字列の代わりに空白を保持している文字列(" ")を渡してください。 //---- //'''NOTE::''' デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 //---- ::NOTE: :::デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 '''参照''' {{goto FrmAlert,FrmAlert()}}, {{goto FrmDoDialog,FrmDoDialog()}}, {{goto FrmCustomResponseAlert,FrmCustomResponseAlert()}} !{{anchor FrmCustomResponseAlert}}FrmCustomResponseAlert 関数 {{goto top,^TOP^}} '''目的''' アラート リソースからテキスト フィールドを持つモーダル ダイアログ({{goto modal,訳者注}})を作成し、ユーザがダイアログのボタンをタップするまでダイアログを表示します。 '''宣言されている場所''' UInt16 FrmCustomResponseAlert ( UInt16 alertId, const Char *s1, const Char *s2, const Char *s3, Char *entryStringBuf, Int16 entryStringBufLength, FormCheckResponseFuncPtr callback ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ alertId}} **アラート リソースの ID。 *{{span style='color:blue;font-family:monospace;',"→ s1, s2, s3"}} **^1, ^2, ^3 を置き換えるための文字列(コメントを参照してください)。 *{{span style='color:blue;font-family:monospace;',← entryStringBuf}} **ユーザがテキスト フィールドに入力した文字列。 *{{span style='color:blue;font-family:monospace;',→ entryStringBufLength}} **{{span style='color:blue;font-family:monospace;',entryStringBuf}} の中の文字列の最大長。 *{{span style='color:blue;font-family:monospace;',→ callback}} **文字列を処理するコールバック関数。{{goto FormCheckResponseFuncType,FormCheckResponseType()}} を参照してください。コールバック関数が無い場合は {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 '''返り値''' ユーザがタップしたボタンのアイテム番号を返します。(最初のボタンのアイテム番号は 0 です。) '''コメント''' この関数はいくつかの点で {{goto FrmCustomAlert,FrmCustomAlert()}} とは異なります: *表示されるダイアログは、ユーザが入力するためのテキスト フィールドを持ちます。ユーザが入力したテキストは {{span style='color:blue;font-family:monospace;',entryStringBuf}} パラメータに収められて返されます。 *ユーザがボタンをタップしたとき、{{span style='color:blue;font-family:monospace;',callback}} 関数が呼び出され、ボタン番号と {{span style='color:blue;font-family:monospace;',entryStringBuf}} を渡されます。ダイアログは、コールバック関数が {{span style='color:blue;font-family:monospace;',true}} を返した場合にのみ棄却されます。この振る舞いは、ユーザが入力した文字列のエラー チェックとユーザに文字列を再入力する機会を与えることを可能にします。 *コールバック関数は、アラート ダイアログが初期化されるときと、アラート ダイアログの割り当てが解除されるときにもまた、特別な定数と一緒に呼び出されます。これは、コールバック関数が必要な初期化とクリーンアップを行うことを可能にします。 //---- //'''NOTE::''' デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 //---- ::NOTE: :::デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto FrmAlert,FrmAlert()}}, {{goto FrmDoDialog,FrmDoDialog()}} !{{anchor FrmDeleteForm}}FrmDeleteForm 関数 {{goto top,^TOP^}} '''目的''' フォームによって占められていたメモリを解放します。フォームの中のオブジェクトに割り当てられていたすべてもメモリもまた解放されます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmDeleteForm ( FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' 返り値はありません。 '''コメント''' この関数は表示を変更しません。 '''互換性''' {{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;',formGadgetDeleteCmd}} と一緒に呼び出します。{{goto FormGadgetHandlerType,FormGadgetHandlerType()}} を参照してください。 '''参照''' {{goto FrmInitForm,FrmInitForm()|Palm OS Programmer's API Reference/11-2}}, {{goto FrmReturnToForm,FrmReturnToForm()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmDispatchEvent}}FrmDispatchEvent 関数 {{goto top,^TOP^}} '''目的''' イベントをフォームのためのアプリケーションのハンドラに向けて発信します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' Boolean FrmDispatchEvent ( EventType *eventP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ eventP}} **イベントへのポインタ '''返り値''' フォームのイベント ハンドラまたは {{goto FrmHandleEvent,FrmHandleEvent()|Palm OS Programmer's API Reference/11-2}} によって返されるブール値を返します。(フォームのイベント ハンドラが {{span style='color:blue;font-family:monospace;',false}} を返す場合、イベントは {{span style='color:blue;font-family:monospace;',FrmHandleEvent}} に渡されます。)この関数はまた、イベントの中で指定されるフォームが無効である場合、{{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' イベント データ(例えば、{{goto frmOpenEvent,frmOpenEvent|Palm OS Programmer's API Reference/2}} や {{goto frmGotoEvent,frmGotoEvent|Palm OS Programmer's API Reference/2}})の中でフォーム ID が指定されない限り、イベントは現在のフォームのハンドラに向けて発信されます。フォームのイベント ハンドラ({{goto FormEventHandlerType,FormEventHandlerType()|Palm OS Programmer's API Reference/11-2}})は {{goto FrmSetEventHandler,FrmSetEventHandler()|Palm OS Programmer's API Reference/11-2}} によって登録されます。 フォームが登録されたイベント ハンドラを持たない場合、この関数は致命的なエラーを引き起こすことに注意してください。 !{{anchor FrmDoDialog}}FrmDoDialog 関数 {{goto top,^TOP^}} '''目的''' ユーザがダイアログの中のボタンをタップするまで、モーダル ダイアログ({{goto modal,訳者注}})を表示します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmDoDialog ( FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' ユーザがタップしたボタンのリソース ID を返します。 //---- //'''NOTE::''' デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 //---- ::NOTE: :::デフォルトのボタンの押下は、モーダル ダイアログ({{goto modal,訳者注}})がアクティブな間にユーザが異なるアプリケーションに切り替えた場合に、シミュレートされます。 {{span style='color:blue;font-family:monospace;',FrmDoDialog}} を呼び出す前に、ダイアログを読み込んで初期化するために {{goto FrmInitForm,FrmInitForm()|Palm OS Programmer's API Reference/11-2}} を呼び出し、それからイベント ハンドラが必要な場合はイベント ハンドラをセットしなくてはなりません。呼出し後は、ダイアログのオブジェクトから必要な値をすべて読み込み、それからダイアログによって占められていたメモリを解放するために {{goto FrmDeleteForm,FrmDeleteForm()}} を呼び出してください。 '''参照''' {{goto FrmInitForm,FrmInitForm()|Palm OS Programmer's API Reference/11-2}}, {{goto FrmCustomAlert,FrmCustomAlert()}}, {{goto FrmCustomResponseAlert,FrmCustomResponseAlert()}} !{{anchor FrmDrawForm}}FrmDrawForm 関数 {{goto top,^TOP^}} '''目的''' フォームの中のすべてのオブジェクトとそのフォームの周りのフォームを描きます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmDrawForm ( FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' 返り値はありません。 '''コメント''' {{span style='color:blue;font-family:monospace;',saveBehind}} フォーム 属性がセットされていて、かつ、フォームが可視の場合、この関数はフォームの背後にあるビットを {{span style='color:blue;font-family:monospace;',FormType}} 構造体の中の {{span style='color:blue;font-family:monospace;',bitsBehindForm}} フィールドを使って保存します。 この関数を {{goto frmOpenEvent,frmOpenEvent|Palm OS Programmer's API Reference/2}} への応答の中で呼び出すべきです。 カスタム描画を行う場合、この関数を呼び出した後(前ではなく)に行うべきです。カスタム描画を行う場合、{{span style='color:blue;font-family:monospace;',frmOpenEvent}} と同様に {{goto frmUpdateEvent,frmUpdateEvent|Palm OS Programmer's API Reference/2}} にも応答し、確実に {{span style='color:blue;font-family:monospace;',frmUpdateEvent}} がハンドルされたことを示すために {{span style='color:blue;font-family:monospace;',true}} を返してください。{{span style='color:blue;font-family:monospace;',frmUpdateEvent}} のためのデフォルトのイベント ハンドラは {{span style='color:blue;font-family:monospace;',FrmDrawForm}} を呼び出します。そのため、{{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}} が存在する場合、{{span style='color:blue;font-family:monospace;',FrmDrawForm}} は、描画を行う前に、フォームのウィンドウを消します。つまり、Palm OS 3.5 以降では、この関数の呼出し後にカスタム描画を行うことが特に重要となります。 {{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;',formGadgetDrawCmd}} と一緒にガゼットのコールバック関数を呼び出します。{{goto FormGadgetHandlerType,FormGadgetHandlerType()}} を参照してください。 '''参照''' {{goto FrmEraseForm,FrmEraseForm()}}, {{goto FrmInitForm,FrmInitForm()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmEraseForm}}FrmEraseForm 関数 {{goto top,^TOP^}} '''目的''' ディスプレイからフォームを消します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmEraseForm ( FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' 返り値はありません。 '''コメント''' フォームによって隠されていた領域が {{goto FrmDrawForm,FrmDrawForm()}} によって保存されていた場合、この関数がその領域を戻します。 !{{anchor FrmGetActiveField}}FrmGetActiveField 関数 {{goto top,^TOP^}} '''目的''' 指定されたフォームのアクティブなフィールドを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' FieldType *FrmGetActiveField( const FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **返されるアクティブなフィールドがあるフォームへのポインタ。アクティブなフォーム上のアクティブなフィールドが返されることを望む場合は {{span style='color:blue;font-family:monospace;',NULL}}。 '''返り値''' アクティブなフィールドのフィールド オブジェクトへのポインタを返します。フォームがアクティブなフィールドを持たない場合、または、アクティブなフォームが無い場合、{{span style='color:blue;font-family:monospace;',NULL}} を返します。 '''コメント''' この関数は、アクティブなフォーム上のアクティブなフィールドを取得するために {{span style='color:blue;font-family:monospace;',NULL}} パラメータと一緒に呼び出されることが最も多くなります。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor FrmGetActiveForm}}FrmGetActiveForm 関数 {{goto top,^TOP^}} '''目的''' 現在のアクティブなフォームを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' FormType *FrmGetActiveForm ( void ) '''パラメータ''' ありません。 '''返り値''' アクティブなフォームのフォーム オブジェクトへのポインタを返します。 '''コメント''' ポップアップ ウィンドウがオープンされているとき、{{span style='color:blue;font-family:monospace;',FrmGetActiveForm}} 関数を呼び出すべきではありません。ポップアップが表示されている間はアクティブなフォームは無く、この状況で {{span style='color:blue;font-family:monospace;',FrmGetActiveForm}} から返される値には意味がありません。 '''参照''' {{goto FrmGetActiveField,FrmGetActiveField()}}, {{goto FrmGetActiveFormID,FrmGetActiveFormID()}}, {{goto FrmSetActiveForm,FrmSetActiveForm()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetActiveFormID}}FrmGetActiveFormID 関数 {{goto top,^TOP^}} '''目的''' 現在のアクティブなフォームの ID を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetActiveFormID ( void ) '''パラメータ''' ありません。 '''返り値''' アクティブなフォームの ID 番号を返します。 '''参照''' {{goto FrmGetActiveForm,FrmGetActiveForm()}} !{{anchor FrmGetControlGroupSelection}}FrmGetControlGroupSelection 関数 {{goto top,^TOP^}} '''目的''' コントロールのグループの中の選択されているコントロールのアイテム番号を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetControlGroupSelection( const FormType *formP, UInt8 groupNum ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ groupNum}} **コントロール グループ番号 '''返り値''' 選択されているコントロールのアイテム番号を返します。選択されているアイテムが無い場合、{{span style='color:blue;font-family:monospace;',frmNoSelectedControl}} を返します。 '''コメント''' アイテム番号はフォーム オブジェクトのデータ構造体を指すインデックスです。 //---- //'''NOTE::''' {{span style='color:blue;font-family:monospace;',FrmSetControlGroupSelection}} はコントロール グループの中の選択を{{span style='color:blue;font-family:monospace;',FrmGetControlGroupSelection}} が返すオブジェクト インデックスではなく、オブジェクト ID に基づいてセットします。 //---- ::NOTE: :::{{span style='color:blue;font-family:monospace;',FrmSetControlGroupSelection}} はコントロール グループの中の選択を{{span style='color:blue;font-family:monospace;',FrmGetControlGroupSelection}} が返すオブジェクト インデックスではなく、オブジェクト ID に基づいてセットします。 '''互換性''' Palm OS 3.5 より前のバージョンでは、この関数は {{span style='color:blue;font-family:monospace;',UInt16}} の代わりに {{span style='color:blue;font-family:monospace;',Byte}} を返します。 '''参照''' {{goto FrmGetObjectId,FrmGetObjectId()}}, {{goto FrmGetObjectPtr,FrmGetObjectPtr()}}, {{goto FrmSetControlGroupSelection,FrmSetControlGroupSelection()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetControlValue}}FrmGetControlValue 関数 {{goto top,^TOP^}} '''目的''' コントロールの現在の値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' Int16 FrmGetControlValue ( const FormType *formP, UInt16 objIndex ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objIndex}} **フォーム オブジェクトのデータ構造体の中のコントロール オブジェクトのインデックス。この値を {{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を使って取得できます。 '''返り値''' コントロールの現在の値を返します。たいていのコントロールでは、返り値は 0 (off) または 1 (on) のどちらかです。スライダでは、この関数は {{span style='color:blue;font-family:monospace;',value}} フィールドの値を返します。 '''コメント''' この関数を呼び出す際は有効なインデックスを指定しなくてはなりません。この関数はプッシュ ボタンとチェック ボックス コントロール オブジェクトに対してのみ有効です。(訳者注: スライダの値を返すと前述されているが、スライダに対してこの関数は有効ではないのか?) '''参照''' {{goto FrmSetControlValue,FrmSetControlValue()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetDIAPolicyAttr}}FrmGetDIAPolicyAttr 関数 {{goto top,^TOP^}} '''目的''' フォームの動的入力エリアのポリシーを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetDIAPolicyAttr ( FormPtr formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' {{goto フォームの動的入力エリアのポリシー,「フォームの動的入力エリアのポリシー」}} の中でリストされた定数のうちの 1 つを返します。 '''互換性''' {{goto Pen Input Manager Feature Set,Pen Input Manager Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 '''参照''' {{goto FrmSetDIAPolicyAttr,FrmSetDIAPolicyAttr()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetFirstForm}}FrmGetFirstForm 関数 {{goto top,^TOP^}} '''目的''' ウィンドウ リストの中にある最初のフォームを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' FormType *FrmGetFirstForm ( void ) '''パラメータ''' ありません。 '''返り値''' フォーム オブジェクトへのポインタを返します。フォームが無い場合は、{{span style='color:blue;font-family:monospace;',NULL}} を返します。 '''コメント''' ウィンドウ リストは LIFO スタックです。最後に作成されたウィンドウはウィンドウ リストの中で最初のウィンドウになります。 !{{anchor FrmGetFocus}}FrmGetFocus 関数 {{goto top,^TOP^}} '''目的''' フォーカスを持つオブジェクトのアイテム(インデックス)番号を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetFocus ( const FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' フォーカスを持つオブジェクト(UI 要素)のインデックスを返します。フォーカスを持つオブジェクトが無い場合は、{{span style='color:blue;font-family:monospace;',noFocus}} を返します。オブジェクト インデックスを ID に変換するには、{{goto FrmGetObjectId,FrmGetObjectId()}} を使用します。 '''参照''' {{goto FrmGetObjectPtr,FrmGetObjectPtr()}}, {{goto FrmSetFocus,FrmSetFocus()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetFormBounds}}FrmGetFormBounds 関数 {{goto top,^TOP^}} '''目的''' フォームの可視領域を返します。返される領域はフォームのフレームを含みます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',For.h}} '''Prototype''' void FrmGetFormBounds ( const FormType *formP, RectangleType *rP void FrmGetFormBounds ( const FormType *formP, RectangleType *rP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',← rP}} **返される {{span style='color:blue;font-family:monospace;',RectangleType}} 構造体へのポインタ '''返り値''' 返り値はありません。フォームの領域は {{span style='color:blue;font-family:monospace;',r}} に収められて返されます。 !{{anchor FrmGetFormId}}FrmGetFormId 関数 {{goto top,^TOP^}} '''目的''' フォームのリソース ID を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetFormId ( const FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' フォーム リソース ID を返します。 '''参照''' {{goto FrmGetFormPtr,FrmGetFormPtr()}} !{{anchor FrmGetFormPtr}}FrmGetFormPtr 関数 {{goto top,^TOP^}} '''目的''' 指定された ID を持つフォームへのポインタを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' FormType *FrmGetFormPtr ( UInt16 formId ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formId}} **フォーム ID 番号 '''返り値''' フォーム オブジェクトへのポインタを返します。メモリの中にフォームが無い場合、{{span style='color:blue;font-family:monospace;',NULL}} を返します。 '''参照''' {{goto FrmGetFormId,FrmGetFormId()}} !{{anchor FrmGetGadgetData}}FrmGetGadgetData 関数 {{goto top,^TOP^}} '''目的''' ガゼット オブジェクトの {{span style='color:blue;font-family:monospace;',data}} フィールドの中に保存されている値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void *FrmGetGadgetData ( const FormType *formP, UInt16 objIndex ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objIndex}} **フォーム オブジェクトのデータ構造体の中にあるガゼット オブジェクトのインデックス。この値を {{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を使って取得することができます。 '''返り値''' カスタム ガゼットのデータへのポインタを返します。 '''コメント''' ガゼット オブジェクトは、アプリケーションのために、カスタム ガゼットをフォームに貼り付ける手段を提供します。一般に、ガゼット オブジェクトの {{span style='color:blue;font-family:monospace;',data}} フィールドはカスタム オブジェクトのデータ構造体へのポインタを保持します。 '''参照''' {{goto FrmSetGadgetData,FrmSetGadgetData()|Palm OS Programmer's API Reference/11-2}}, {{goto FrmSetGadgetHandler,FrmSetGadgetHandler()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetLabel}}FrmGetLabel 関数 {{goto top,^TOP^}} '''目的''' 指定されたフォームの中にある指定されたラベル オブジェクトのテキストへのポインタを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' const Char *FrmGetLabel ( const FormType *formP, UInt16 labelID ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ labelID}} **ラベル オブジェクトの ID '''返り値''' ラベル文字列へのポインタを返します。 '''コメント''' 返された文字列のポインタから文字列のコピーを作らないでください。このオブジェクトはラベルでなければなりません。 '''参照''' {{goto FrmCopyLabel,FrmCopyLabel()}} !{{anchor FrmGetNavEntry}}FrmGetNavEntry 関数 {{goto top,^TOP^}} '''目的''' フォームの中にある 1 つのオブジェクトのためのナビゲーション情報を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' Err FrmGetNavEntry ( const FormType *formP, UInt16 targetObjectID, UInt16 *afterObjectIDP, UInt16 *aboveObjectIDP, UInt16 *belowObjectIDP, FrmNavObjectFlagsType *objectFlagsP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **取得されるナビゲーション順を持つフォームへのポインタ *{{span style='color:blue;font-family:monospace;',→ targetObjectID}} **「ターゲット オブジェクト」 -- 取得されるナビゲーション情報を持つオブジェクト -- の ID *{{span style='color:blue;font-family:monospace;',← afterObjectIDP}} **ターゲット オブジェクトの左にあるオブジェクトの ID が書き込まれた {{span style='color:blue;font-family:monospace;',UInt16}} へのポインタ。ターゲット オブジェクトがタブ順の中の最初のオブジェクトである場合、値 0 が {{span style='color:blue;font-family:monospace;',*afterObjectIDP}} に書き込まれます。この情報を必要としない場合は、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← aboveObjectIDP}} **ターゲット オブジェクトの上にあるオブジェクトの ID が書き込まれる {{span style='color:blue;font-family:monospace;',UInt16}} へのポインタ。ターゲット オブジェクトがフォームの最初の行にある場合、値 0 が {{span style='color:blue;font-family:monospace;',*aboveObjectIDP}} に書き込まれます。この情報を必要としない場合は、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← bellowObjectIDP}} **ターゲット オブジェクトの下にあるオブジェクトの ID が書き込まれる {{span style='color:blue;font-family:monospace;',UInt16}} へのポインタ。ターゲット オブジェクトがフォームの最後の行にある場合、値 0 が {{span style='color:blue;font-family:monospace;',*bellowObjectIDP}} に書き込まれます。この情報を必要としない場合は、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← objectFlagsP}} **ターゲット オブジェクトのためのオブジェクト フラグが書き込まれる {{goto FrmNavObjectFlagsType,FrmNavObjectFlagsType}} へのポインタ。この情報を必要としない場合は、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 '''返り値''' 操作が成功裏に完了した場合 {{span style='color:blue;font-family:monospace;',errNone}} を返します。そうでない場合、エラー コードを返します。 '''参照''' {{goto FrmGetNavOrder,FrmGetNavOrder()}}, {{goto FrmSetNavEntry,FrmSetNavEntry()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetNavOrder}}FrmGetNavOrder 関数 {{goto top,^TOP^}} '''目的''' フォームのナビゲーション順についての情報を取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' Err FrmGetNavOrder ( const FormType *formP, FrmNavHeaderType *navHeaderP, FrmNavOrderEntryType *navOrderP, UInt16 *numObjectsP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーカス順が取得されるフォームへのポインタ *{{span style='color:blue;font-family:monospace;',← navHeaderP}} **このポインタが {{span style='color:blue;font-family:monospace;',NULL}} ではない場合、渡された {{goto FrmNavHeaderType,FrmNavHeaderType}} 構造体はフォームのナビゲーション順のためのヘッダ情報で満たされます。 *{{span style='color:blue;font-family:monospace;',← navOrderP}} **このポインタが {{span style='color:blue;font-family:monospace;',NULL}} ではない場合、渡された {{goto FrmNavOrderEntryType,FrmNavOrderEntryType}} 構造体の配列はナビゲーション順の中にある各オブジェクトのための情報で満たされます。 *{{span style='color:blue;font-family:monospace;',←→ numObjectsP}} **渡すときは、ナビゲーション順の配列に割り当てられたエントリの数。返るときは、このパラメータにはナビゲーション順の配列の中で満たされたエントリの数がセットされます。 '''返り値''' 操作が成功裏に完了した場合 {{span style='color:blue;font-family:monospace;',errNone}} を返します。そうでない場合、エラー コードを返します。 '''コメント''' フォームがナビゲーション リソースを持たない場合、フォームの中のすべてのオブジェクトがタブ順に含まれます。しかしながら、多くのオブジェクトはスキップされるようマークを付けられることに注意してください。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 '''参照''' {{goto FrmCountObjectsInNavOrder,FrmCountObjectsInNavOrder()}}, {[goto FrmSetNavOrder,FrmSetNavOrder()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetNavState}}FrmGetNavState 関数 {{goto top,^TOP^}} '''目的''' フォームの現在のナビゲーション状態を取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' Err FrmGetNavState ( const FormType *formP, FrmNavStateFlagsType *stateFlagsP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **ナビゲーション状態が取得されるフォームへのポインタ *{{span style='color:blue;font-family:monospace;',← stateFlagsP}} **現在のナビゲーション状態が書き込まれる {{goto FrmNavStateFlagsType,FrmNavStateFlagsType}} へのポインタ。この状態はフォームの現在のフォーカス モードを指定します。 '''返り値''' 操作が成功裏に完了した場合 {{span style='color:blue;font-family:monospace;',errNone}} を返します。そうでない場合、エラー コードを返します。 '''互換性''' {{goto One-Handed Navigation Feature Set,One-Handed Navigation Feature Set|Palm OS Programmer's API Reference/B-2}} が存在する場合にのみ、実装されます。 '''参照''' {{goto FrmSetNavState,FrmSetNavState()||Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetNumberOfObjects}}FrmGetNumberOfObjects 関数 {{goto top,^TOP^}} '''目的''' フォームの中にあるオブジェクトの数を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetNumberOfObjects( const FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' 指定されたフォームの中にあるオブジェクトの数を返します。 '''参照''' {{goto FrmGetObjectPtr,FrmGetObjectPtr()}}, {{goto FrmGetObjectId,FrmGetObjectId()}} !{{anchor FrmGetObjectBounds}}FrmGetObjectBounds 関数 {{goto top,^TOP^}} '''目的''' 与えられたフォームとインデックスからオブジェクトの領域を取得します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmGetObjectBounds ( const FormType *formP, UInt16 objIndex, RectangleType *rP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objIndex}} **フォームの中にあるオブジェクトのインデックス。この値を {{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を使って取得することができます。 *{{span style='color:blue;font-family:monospace;',← rP}} **オブジェクト領域が返されるための {{span style='color:blue;font-family:monospace;',RectangleType}} 構造体へのポインタ。返される領域はウィンドウから見た相対座標です。 '''返り値''' 返り値はありません。オブジェクトの領域は {{span style='color:blue;font-family:monospace;',r}} に収められて返されます。 '''参照''' {{goto FrmGetObjectPosition,FrmGetObjectPosition()}}, {{goto FrmSetObjectBounds,FrmSetObjectBounds()|Palm OS Programmer's API Reference/11-2}}, {{goto FrmSetObjectPosition,FrmSetObjectPosition()|Palm OS Programmer's API Reference/11-2}} !{{anchor FmrGetObjectId}}FrmGetObjectId 関数 {{goto top,^TOP^}} '''目的''' 指定されたオブジェクトの ID を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetObjectId ( const FormType *formP, UInt16 objIndex ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objIndex}} **フォームの中にあるオブジェクトのインデックス。この値を {{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を使って取得することができます。 '''返り値''' オブジェクトの ID 番号を返します。{{span style='color:blue;font-family:monospace;',objIndex}} パラメータが無効の場合は、{{span style='color:blue;font-family:monospace;',frmInvalidObjectId}} を返します。 '''参照''' {{goto FrmGetObjectPtr,FrmGetObjectPtr()}} !{{anchor FrmGetObjectIndex}}FrmGetObjectIndex 関数 {{goto top,^TOP^}} '''目的''' フォームのオブジェクト リストの中にあるオブジェクトのインデックスを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetObjectIndex ( const FormType *formP, UInt16 objID ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objID}} **フォームの中にあるフォームの ID '''返り値''' 指定されたオブジェクトのインデックスを返します。(最初のオブジェクトのインデックスは 0 です。)提供されたオブジェクト ID が無効な場合は、{{span style='color:blue;font-family:monospace;',frmInvalidObjectId}} を返します。 '''コメント''' ビットマップは、それ以外のオブジェクトでの ID のための仕組みとは異なる仕組みを使用します。{{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} でビットマップを検索するとき、フォーム ビットマップ オブジェクトの ID ではなくビットマップのリソース ID を渡す必要があります。(フォーム ビットマップ オブジェクトの ID を渡した場合、正しいオブジェクトが返されるかもしれませんし、返されないかもしれません。どのようにオブジェクトが作成されたかに依存します。) このことは、同じフォーム上の異なる 2 つのフォームの中にある同じビットマップを配置した場合、2 番目のビットマップを取得するために {{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} を使用することはできないということを意味します。この関数は常に最初のオブジェクトを返します。 '''参照''' {{goto FrmGetObjectPtr,FrmGetObjectPtr()}}, {{goto FrmGetObjectId,FrmGetObjectId()}} !{{anchor FrmGetObjectIndexFromPtr}}FrmGetObjectIndexFromPtr 関数 {{goto top,^TOP^}} '''目的''' オブジェクトのインデックスを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' UInt16 FrmGetObjectIndexFromPtr( const FormType *formP, void *objP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objP}} **オブジェクトへのポインタ '''返り値''' オブジェクトのインデックスを返します。{{span style='color:blue;font-family:monospace;',objP}} がフォームに関連付けられていない場合、{{span style='color:blue;font-family:monospace;',frmInvalidObjectId}} が返されます。 '''コメント''' 多くのフォーム関数(例えば、{{goto FrmGetObjectType,FrmGetObjectType()}}, {{goto FrmHideObject,FrmHideObject()|C/C++ Sync Suite Reference601/11-2}}, {{goto FrmGetObjectBounds,FrmGetObjectBounds()}}})は、引数の 1 つとしてオブジェクト インデックスをとります。オブジェクトのインデックスを取得する最も一般的な方法は、{{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を呼び出すことです。{{span style='color:blue;font-family:monospace;',FrmGetObjectIndex}} はフォーム ID をとり、フォーム オブジェクトのインデックスを返します。この関数は最も多くのケースで使われるルーチンです。なぜなら、アプリケーションは通常、オブジェクト ID を知っているからです。しかしながら、ガゼットとある特定の拡張ガゼットは、ID ではなくガゼット ポインタを返すコールバック関数を含む API を持ちます。そのようなケースでは、オブジェクト インデックスを取得する(それにより {{span style='color:blue;font-family:monospace;',FrmGetObject}} APIが使用可能になる)唯一の方法は、{{span style='color:blue;font-family:monospace;',FrmGetObjectIndexFromPtr}} を使用することです。 Palm OS 4.0 以前のシステムで同じ機能が必要な場合、以下のコードで同じことを実現できます。 UInt16 index; UInt16 objIndex = frmInvalidObjectId; UInt16 numObjects = FrmGetNumberOfObjects(frmP) for (index = 0; index < numObjects; index++) { if (FrmGetObjectPtr(index) == myObjPtr) { // Found it objIndex = index; break; } } '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor FrmGetObjectPosition}}FrmGetObjectPosition 関数 {{goto top,^TOP^}} '''目的''' 指定されたオブジェクトのフォームとの相対座標を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void FrmGetObjectPosition ( const FormType *formP, UInt16 objIndex, Coord *x, Coord *y ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objIndex}} **フォームの中にあるオブジェクトのインデックス。この値を {{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を使って取得することができます。 *{{span style='color:blue;font-family:monospace;',"← x, y"}} **返されるオブジェクトのウィンドウとの相対 x, y 座標へのポインタ。これらの位置情報はオブジェクトの左上端を指します。 '''返り値''' 返り値はありません。 '''参照''' {{goto FrmGetObjectBounds,FrmGetObjectBounds()}}, {{goto FrmSetObjectPosition,FrmSetObjectPosition()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetObjectPtr}}FrmGetObjectPtr 関数 {{goto top,^TOP^}} '''目的''' フォームの中にあるオブジェクトのデータ構造体へのポインタを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' void *FrmGetObjectPtr ( const FormType *formP, UInt16 objIndex ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objIndex}} **フォームの中にあるオブジェクトのインデックス。この値を {{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を使って主と繰るすることができます。 '''返り値''' フォームの中にあるオブジェクトへのポインタを返します。 '''参照''' {{goto FrmGetObjectId,FrmGetObjectId()}} !{{anchor FrmGetObjectType}}FrmGetObjectType 関数 {{goto top,^TOP^}} '''目的''' オブジェクトのタイプを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' FormObjectKind FrmGetObjectType( const FormType *formP, UInt16 objIndex ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ *{{span style='color:blue;font-family:monospace;',→ objIndex}} **フォームの中にあるオブジェクトのインデックス。この値を {{goto FrmGetObjectIndex,FrmGetObjectIndex()}} を使って主と繰るすることができます。 '''返り値''' 指定されたオブジェクトのタイプを返します。この関数によって返され得る値の集合については、{{goto FormObjectKind,FormObjectKind}} を参照してください。 !{{anchor FrmGetTitle}}FrmGetTitle 関数 {{goto top,^TOP^}} '''目的''' フォームのタイトル文字列へのポインタを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' const Char *FrmGetTitle ( const FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' タイトル文字列へのポインタを返します。タイトル文字列が無い場合、または、タイトル文字列を検索中にエラーが起きた場合、{{span style='color:blue;font-family:monospace;',NULL}} を返します。 '''コメント''' 返り値は内部構造体そのものへのポインタです。コピーを作成しないでください。 '''参照''' {{goto FrmCopyTitle,FrmCopyTitle()}}, {{goto FrmSetTitle,FrmSetTitle()|Palm OS Programmer's API Reference/11-2}} !{{anchor FrmGetWindowHandle}}FrmGetWindowHandle 関数 {{goto top,^TOP^}} '''目的''' フォームのウィンドウ ハンドルを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Form.h}} '''Prototype''' WinHandle FrmGetWindowHandle( const FormType *formP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ formP}} **フォーム オブジェクト({{goto FormType,FormType}} 構造体)へのポインタ '''返り値''' フォーム データ構造体を保持するメモリ ブロックのハンドルを返します。フォーム構造体は {{goto WindowType,WindowType|Palm OS Programmer's API Reference/59}} で始まるため、返り値は {{span style='color:blue;font-family:monospace;',WinHandle}} でもあります。 //FrmGetWindowHandle まで!!! //フォームの背後にあるビット?(saveBehind: the bits behind the form) //OK: modal form?? modal dialog?? //OK: Navigation order: ナビゲーション順(?命令?) //OK: FrmNavOrderEntryTypeの目的?? //thumbable buttons ?? {{anchor modal}} 訳者注: モーダル ダイアログとは、そのダイアログ ボックスが表示されている間はダイアログ以外の操作を受け付けなくするダイアログです。 ※訳者は古い Palm デバイスしか所有していないため、ナビゲーション関係の記述についてはあやふやな部分が多いです。 [[↑ 11 章のトップへ|Palm OS Programmer's API Reference/11]] [[11 章のページ 2 へ →|Palm OS Programmer's API Reference/11-2]] {{div_end}} {{div_begin "style='border-top-style:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 10 章に戻る|Palm OS Programmer's API Reference/10]] [[↑トップへ|Palm OS Programmer's API Reference]] [[12 章に進む →|Palm OS Programmer's API Reference/12]] {{div_end}}