{{div_begin}} [[← 6 章に戻る|Palm OS Programmer's API Reference/6]] [[↑トップへ|Palm OS Programmer's API Reference]] [[8 章に進む →|Palm OS Programmer's API Reference/8]] {{div_end}} {{div_begin style="margin-bottom:-10px"}} !!!7 コントロール {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *{{goto Control Data Structures,コントロール データ構造体}} **{{goto ButtonFrameType,ButtonFrameType}} **{{goto ControlAttrType,ControlAttrType}} **{{goto ControlPtr,ControlPtr}} **{{goto ControlStyleType,ControlStyleType}} **{{goto ControlType,ControlType}} **{{goto GraphicControlType,GraphicControlType}} **{{goto SliderControlType,SliderControlType}} *{{goto Control Resources,コントロール リソース}} *{{goto Control Functions,コントロール関数}} **{{goto CtlDrawControl,CtlDrawControl}} **{{goto CtlEnabled,CtlEnabled}} **{{goto CtlEraseControl,CtlEraseControl}} **{{goto CtlGetLabel,CtlGetLabel}} **{{goto CtlGetSliderValues,CtlGetSliderValues}} **{{goto CtlGetValue,CtlGetValue}} **{{goto CtlHandleEvent,CtlHandleEvent}} **{{goto CtlHideControl,CtlHideControl}} **{{goto CtlHitControl,CtlHitControl}} **{{goto CtlNewControl,CtlNewControl}} **{{goto CtlNewGraphicControl,CtlNewGraphicControl}} **{{goto CtlNewSliderControl,CtlNewSliderControl}} **{{goto CtlSetEnabled,CtlSetEnabled}} **{{goto CtlSetGraphics,CtlSetGraphics}} **{{goto CtlSetLabel,CtlSetLabel}} **{{goto CtlSetSliderValues,CtlSetSliderValues}} **{{goto CtlSetUsable,CtlSetUsable}} **{{goto CtlSetValue,CtlSetValue}} **{{goto CtlShowControl,CtlShowControl}} **{{goto CtlValidatePointer,CtlValidatePointer}} {{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:dotted;border-right-width:2px;border-right-color:silver;'"}} この章ではヘッダ ファイル {{span style='color:blue;font-family:monospace;',Control.h}} で定義されているコントロール オブジェクト API について説明します。以下のことを説明します。 *{{goto Control Data Structures,コントロール データ構造体}} *{{goto Control Resources,コントロール リソース}} *{{goto Control Functions,コントロール関数}} コントロールについての追加情報は ''Palm OS Programmer's Companion, vol. I'' の [[「コントロール」|Palm OS Programmer's Companion Volume I/4-4]] を参照してください。(訳者注: 原文では [[「フォーム、ウィンドウ、ダイアログ」|Palm OS Programmer's Companion Volume I/4-3]] の {{goto p12,「オフスクリーン ウィンドウ」|Palm OS Programmer's Companion Volume I/4-3}} となっていたが誤りと思われる。) !!{{anchor Control Data Structures}}コントロール データ構造体 {{goto top,^TOP^}} !{{anchor ButtonFrameType}}ButtonFrameType 列挙体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',ButtonFrameType}} 列挙体(訳者注: 原文では enum)はボタンの縁のスタイルを指定します。これは {{goto ControlAttrType,ControlAttrType}} の {{span style='color:blue;font-family:monospace;',frame}} フィールドのための値を定義します。 '''Prototype''' enum buttonFrames {noButtonFrame, standardButtonFrame, boldButtonFrame, rectangleButtonFrame}; typedef enum buttonFrames ButtonFrameType; '''定数''' *{{span style='color:blue;font-family:monospace;',noButtonFrame}} **縁を持たないボタン *{{span style='color:blue;font-family:monospace;',standardButtonFrame}} **四隅が丸くなった四角い縁を持つ標準ボタン *{{span style='color:blue;font-family:monospace;',boldButtonFrame}} **四隅が丸くなった強調された四角い縁を持つボタン *{{span style='color:blue;font-family:monospace;',rectangleButtonFrame}} **四隅が角張った四角い縁を持つボタン !{{anchor ControlAttrType}}ControlAttrType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',ControlAttrType}} ビット フィールドはコントロールの視覚特性を指定します。以下のように定義されています。 '''Prototype''' typedef struct { UInt8 usable:1; UInt8 enabled:1; UInt8 visible:1; UInt8 on:1; UInt8 leftAnchor:1; UInt8 frame:3; UInt8 drawnAsSelected:1; UInt8 graphical:1; UInt8 vertical:1; } ControlAttrType; //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',ControlAttrType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',ControlAttrType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 コードは {{span style='color:blue;font-family:monospace;',ControlAttrType}} 構造体を実体の無いものとして扱うべきです。以下の説明で指定される関数を、各値を取得、セットするために使用してください。構造体メンバを直接変更しようとしないでください。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',usable}} **0 の場合、コントロールは現在のアプリケーションのインターフェイスの一部とは見なされず、スクリーン上に表示されません。この値をセットまたはクリアするために、{{goto CtlSetUsable,CtlSetUsable()}}, {{goto CtlShowControl,CtlShowControl()}} または {{goto CtlHideControl,CtlHideControl()}} を使用できます。 *{{span style='color:blue;font-family:monospace;',enable}} **0 の場合、コントロールは可視ですが、ペンに反応しません。この値は {{goto CtlSetEnabled,CtlSetEnabled()}} によってセットされ、{{goto CtlEnabled,CtlEnabled()}} によって返されます。 *{{span style='color:blue;font-family:monospace;',visible}} **コントロールが描かれる({{goto CtlDrawControl,CtlDrawControl()}})、消される({{goto CtlEraseControl,CtlEraseControl()}})ときに、内部的にセット、クリアされます。 *{{span style='color:blue;font-family:monospace;',on}} **セットされている場合、コントロールは値「on」を持ちます。例えば、「on」の値を持つチェック ボックスは、ボックス内にチェック マークが表示されています。この値を取得、セットするために、{{goto CtlGetValue,CtlGetValue()}} と {{goto CtlSetValue,CtlSetValue()}} を使用してください。 *{{span style='color:blue;font-family:monospace;',leftAnchor}} **ラベルが変更されたときに幅を拡張、縮めるコントロールによって使用されます。この属性がセットされている場合、コントロールの左端は固定されています。 *{{span style='color:blue;font-family:monospace;',frame}} **ボタン コントロールのまわりに描かれるフレームのタイプ。取り得る値については {{goto ButtonFrameType,ButtonFrameType}} を参照してください。ボタン コントロールだけがこの属性を使用します。他のすべてのコントロールでは、{{goto ControlStyleType,ControlStyleType}} がフレームを決定します。 *{{span style='color:blue;font-family:monospace;',drawAsSelected}} **Palm OS 3.5で、テキストを保持しないボタン(ビットマップの上端に表示されるボタン)のために使用されます。セットされている場合、ボタンは反転して表示されます。クリアされている場合、ボタンは通常通りに表示されます。 *{{span style='color:blue;font-family:monospace;',graphical}} **セットされている場合、コントロールはグラフィカル コントロール、スライダ、または、フィードバック スライダです。 *{{span style='color:blue;font-family:monospace;',vertical}} **現在使用されていません。 '''互換性''' {{span style='color:blue;font-family:monospace;',drawAsSelected}}, {{span style='color:blue;font-family:monospace;',grahpical}} それに {{span style='color:blue;font-family:monospace;',vertical}} 属性は、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、存在します。 !{{anchor ControlPtr}}ControlPtr Typedef {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',ControlPtr}} は {{goto ControlType,ControlType}} 構造体へのポインタです。 '''Prototype''' typedef ControlType *ControlPtr; !{{anchor ControlStyle}}ControlStyle 列挙体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',ControlStyleType}} 列挙体(原文: enum)は、{{goto ControlType,ControlType}} 中のコントロールのタイプ(ボタン、プッシュ ボタンなど)を指定する {{span style='color:blue;font-family:monospace;',style}} フィールドのための値を指定します。 enum controlStyles {buttonCtl, pushButtonCtl, checkboxCtl, popupTriggerCtl, selectorTriggerCtl, repeatingButtonCtl, sliderCtl, feedbackSliderCtl}; typedef enum controlStyles ControlStyleType; '''定数''' *{{span style='color:blue;font-family:monospace;',buttonCtl}} **ボタン。ボタンはボックスの中にテキスト ラベルを表示します。{{goto ButtonFrameType,ButtonFrameType}} はボックスのタイプを指定します。 *{{span style='color:blue;font-family:monospace;',pushButtonCtl}} **プッシュ ボタン。プッシュ ボタンを選択すると、ボタンの表示は反転され、それにより、ハイライトされます。 *{{span style='color:blue;font-family:monospace;',checkboxCtl}} **チェック ボックス。チェック ボックスは「on」(チェックされている)または「off」(チェックされていない)のどちらにセットされているかを表示します。 *{{span style='color:blue;font-family:monospace;',popupTriggerCtl}} **ポップアップ トリガ。ポップアップ トリガはテキスト ラベルが後に続くグラフィック要素を表示します。ポップアップ リストを表示するために使用されます。 *{{span style='color:blue;font-family:monospace;',selectorTriggerCtl}} **セレクタ トリガ。セレクタ トリガは灰色の四角いフレームに囲まれたテキスト ラベルを表示します。このコントロールは新しいラベルの幅に合わせて広がったり、縮まったりします。 *{{span style='color:blue;font-family:monospace;',repeatingButtonCtl}} **リピート ボタン。リピート ボタンはボタンに似ています。しかし、リピート ボタンは、ユーザがそのボタンの上にペンを置いている間だけ、継続して選択されています。 *{{span style='color:blue;font-family:monospace;',sliderCtl}} **スライダ。スライダは 2 つのビットマップを表示します: 1 つは現在値(thumb)を表し、もう 1 つは取り得る値の範囲を表します。ユーザは、値を変更するために、thumb を左または右にスライドさせることができます。 *{{span style='color:blue;font-family:monospace;',feedbackSliderCtl}} **フィードバック スライダ。フィードバック スライダはスライダに似ています。しかし、フィードバック スライダは、ペンが接触している間、thumb が動くたびにイベントを発します。通常のスライダは、ペンが離れたときにのみ、イベントを発します。 '''互換性''' {{span style='color:blue;font-family:monospace;',sliderCtl}} と {{span style='color:blue;font-family:monospace;',feedbackSliderCtl}} 値は、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、定義されます。 !{{anchor ControlType}}ControlType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',ControlType}} 構造体はコントロールのタイプと特性を定義します。この構造体は以下のように定義されています。 '''Prototype''' typedef struct { UInt16 id; RectangleType bounds; Char *text; ControlAttrType attr; ControlStyleType style; FontID font; UInt8 group; UInt8 reserved; } ControlType; //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',ControlType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',ControlType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 コードは {{span style='color:blue;font-family:monospace;',ControlType}} 構造体を実体の無いものとして扱うべきです。構造体の中のフィールドは、コントロール リソース作成時に指定された値によってセットされ、通常では変わることはありません。以下の説明で指定される関数を、各値を取得、セットするために使用してください。構造体メンバを直接変更しようとしないでください。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **コントロール リソース作成時に指定される ID 値 *{{span style='color:blue;font-family:monospace;',bounds}} **コントロールの、ウィンドウとの相対座標としての、領域。コントロールのテキスト ラベルはコントロールの領域に貼り付けられます。コントロールのフレームはコントロール領域のまわり(外側)に描かれます。{{goto FrmGetObjectBounds,FrmGetObjectBounds()|Palm OS Programmer's API Reference/11}} と {{goto FrmSetObjectBounds,FrmSetObjectBounds()|Palm OS Programmer's API Reference/11}} がこの値を取得、セットします。 *{{span style='color:blue;font-family:monospace;',text}} **コントロール ラベルへのポインタ。{{span style='color:blue;font-family:monospace;',text}} が {{span style='color:blue;font-family:monospace;',NULL}} の場合、コントロールはラベルを持ちません。この値を取得、セットするために、{{goto CtlGetLabel,CtlGetLabel()}} と {{goto CtlSetLabel,CtlSetLabe()}} を使用してください。 *{{span style='color:blue;font-family:monospace;',attr}} **コントロール属性。{{goto ControlAttrType,ControlAttrType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',style}} **コントロールのスタイル。{{goto ContorlStyleType,ControlStyleType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',font}} **コントロールのラベルを描くのに使用されるフォント *{{span style='color:blue;font-family:monospace;',group}} **排他的グループの一部であるプッシュ ボタンまたはチェック ボックスのグループ ID。コントロール ルーチンは、他のコントロールが選択されたとき、選択されていたコントロールの選択を自動的に'''取り消しません'''。それは、それらのコントロールを管理するアプリケーションまたはダイアログ ボックスのようなより高いレベルのオブジェクト次第です。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 !{{anchor GraphicControlType}}GraphicControlType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',GraphicControlType}} 構造体はグラフィカル コントロールを定義します。グラフィカル コントロールは他のコントロールと似ていますが、テキスト ラベルが置かれる場所にビットマップを表示するところが異なります。 '''Prototype''' typedef struct GraphicControlType { UInt16 id; RectangleType bounds; DmResID bitmapID; DmResID selectedBitmapID; ControlAttrType attr; ControlStyleType style; FontID unused; UInt8 group; UInt8 reserved; } GraphicControlType; //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',GraphicControlType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',GraphicControlType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 コードは {{span style='color:blue;font-family:monospace;',GraphicControlType}} 構造体を実体の無いものとして扱うべきです。構造体の中のフィールドは、コントロール リソース作成時に指定された値によってセットされ、通常では変わることはありません。以下の説明で指定される関数を、各値を取得、セットするために使用してください。構造体メンバを直接変更しようとしないでください。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **コントロール リソース作成時に指定される ID 値 *{{span style='color:blue;font-family:monospace;',bounds}} **コントロールの、ウィンドウとの相対座標としての、コントロールのフレームはコントロール領域のまわり(外側)に描かれます。{{goto FrmGetObjectBounds,FrmGetObjectBounds()|Palm OS Programmer's API Reference/11}} と {{goto FrmSetObjectBounds,FrmSetObjectBounds()|Palm OS Programmer's API Reference/11}} がこの値を取得、セットします。 *{{span style='color:blue;font-family:monospace;',bitmapID}} **ボタンの中に表示されるビットマップのリソース ID。この値を変更するために {{goto CtlSetGraphics,CtlSetGraphics()}} を使用することができます。 *{{span style='color:blue;font-family:monospace;',selectedBitmapID}} **選択されたときにボタンが異なるビットマップを表示する場合、このフィールドはそのビットマップのリソース ID を保持します。通常、このフィールドはプッシュ ボタンまたはリピート ボタンのために使用されます。この値を変更するために {{goto CtlSetGraphics,CtlSetGraphics()}} を使用することができます。 *{{span style='color:blue;font-family:monospace;',attr}} **コントロール属性。{{goto ControlAttrType,ControlAttrType}} を参照してください。グラフィカル コントロールでは、{{span style='color:blue;font-family:monospace;',graphical}} 属性がセットされていなくてはなりません。{{span style='color:blue;font-family:monospace;',ControlAttrType}} セクションで説明した API を使ってここのビットフィールドにアクセスすることができます。{{span style='color:blue;font-family:monospace;',ControlAttrType}} API は引数として {{span style='color:blue;font-family:monospace;',ControlType*}} を取るため、API を呼び出すとき、{{span style='color:blue;font-family:monospace;',GraphicControlType*}} を {{span style='color:blue;font-family:monospace;',ControlType*}} にキャストすべきです。 *{{span style='color:blue;font-family:monospace;',style}} **コントロールのスタイル。{{goto ContorlStyleType,ControlStyleType}} を参照してください。グラフィカル コントロールは {{span style='color:blue;font-family:monospace;',checkboxCtl}} 以外のどのコントロール タイプにもなり得ます。 *{{span style='color:blue;font-family:monospace;',unused}} **使用されません。 *{{span style='color:blue;font-family:monospace;',group}} **排他的グループの一部であるプッシュ ボタンのグループ ID。コントロール ルーチンは、他のコントロールが選択されたとき、選択されていたコントロールの選択を自動的に'''取り消しません'''。それは、それらのコントロールを管理するアプリケーションまたはダイアログ ボックスのようなより高いレベルのオブジェクト次第です。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 '''互換性''' この構造体は、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、定義されます。 !{{anchor SliderControlType}}SliderControlType 構造体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',SliderControlType}} 構造体はスライダ コントロールまたはフィードバック スライダ コントロールを定義します。 '''Prototype''' typedef struct SliderControlType { UInt16 id; RectangleType bounds; DmResID thumbID; DmResID backgroundID; ControlAttrType attr; ControlStyleType style; UInt8 reserved; Int16 minValue; Int16 maxValue; Int16 pageSize; Int16 value; MemPtr activeSliderP; } SliderControlType; //---- //{{span style='color:red;font-weight:bold;',WARNING!}} PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',SliderControlType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 //---- ::{{span style='color:red;font-weight:bold;',WARNING!}} :::PalmSource 社(訳者注: 現 ACCESS 社)は {{span style='color:blue;font-family:monospace;',SliderControlType}} 構造体の下位互換をサポートしていません。この構造体メンバに直接アクセスしないでください。そのようなコードは将来のバージョンで機能しないかもしれません。以下の情報はデバッグ目的でのみ使用してください。 コードは {{span style='color:blue;font-family:monospace;',SliderControlType}} 構造体を実体の無いものとして扱うべきです。構造体の中のフィールドは、コントロール リソース作成時に指定された値によってセットされ、通常では変わることはありません。{{goto CtlSetSliderValues,CtlSetSliderValues()}} を使って新しい最小値、最大値、ページ サイズ、それに現在値をセットでき、{{goto CtlGetSliderValues,CtlGetSliderValues()}} を使ってこれらの値を取得できます。構造体メンバを直接変更しようとしないでください。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',id}} **コントロール リソース作成時に指定される ID 値 *{{span style='color:blue;font-family:monospace;',bounds}} **コントロールの、ウィンドウとの相対座標としての、領域。{{goto FrmGetObjectBounds,FrmGetObjectBounds()|Palm OS Programmer's API Reference/11}} と {{goto FrmSetObjectBounds,FrmSetObjectBounds()|Palm OS Programmer's API Reference/11}} がこの値を取得、セットします。 *{{span style='color:blue;font-family:monospace;',thumbID}} **スライダ ノブ(「thumb」と呼ばれます)に使用されるビットマップのリソース ID。{{span style='color:blue;font-family:monospace;',NULL}} の場合、デフォルトのビットマップが使用されます。 *{{span style='color:blue;font-family:monospace;',backgroundID}} **スライダの背景に使用されるビットマップのリソース ID。{{span style='color:blue;font-family:monospace;',NULL}} の場合、デフォルトのビットマップが使用されます。 *{{span style='color:blue;font-family:monospace;',attr}} **コントロール属性。{{goto ControlAttrType,ControlAttrType}} を参照してください。スライダ コントロールでは、{{span style='color:blue;font-family:monospace;',graphical}} 属性がセットされていなくてはなりません。{{span style='color:blue;font-family:monospace;',ControlAttrType}} セクションで説明した API を使ってここのビットフィールドにアクセスすることができます。{{span style='color:blue;font-family:monospace;',ControlAttrType}} API は引数として {{span style='color:blue;font-family:monospace;',ControlType*}} を取るため、API を呼び出すとき、{{span style='color:blue;font-family:monospace;',GraphicControlType*}} を {{span style='color:blue;font-family:monospace;',ControlType*}} にキャストすべきです。 *{{span style='color:blue;font-family:monospace;',style}} **コントロールのスタイル。{{goto ContorlStyleType,ControlStyleType}} を参照してください。{{span style='color:blue;font-family:monospace;',sliderCtl}} または {{span style='color:blue;font-family:monospace;',feedbackSliderCtl}} でなくてはなりません。 *{{span style='color:blue;font-family:monospace;',reserved}} **将来使用するために予約されています。 *{{span style='color:blue;font-family:monospace;',minValue}} **thumb が一番左端にあるときのスライダの値 *{{span style='color:blue;font-family:monospace;',maxValue}} **thumb が一番右端にあるときのスライダの値 *{{span style='color:blue;font-family:monospace;',pageSize}} **ユーザが thumb の右または左をタップしたときにスライダ値を増加または減少させる量 *{{span style='color:blue;font-family:monospace;',value}} **スライダによって表される現在値。{{goto CtlGetValue,CtlGetValue()}} と {{goto CtlSetValue,CtlSetValue()}} を使ってこの値を取得、セットします。 *{{span style='color:blue;font-family:monospace;',activeSliderP}} **スライダがアクティブなときに使用されるメモリへのポインタ。スライダは、描かれている間、または、ペンを追跡している間、アクティブになります。スライダがアクティブでない場合、このポインタは {{span style='color:blue;font-family:monospace;',NULL}} です。 '''互換性''' この構造体は、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、定義されます。 !!{{anchor Control Resources}}コントロール リソース {{goto top,^TOP^}} 異なるリソースは、以下のように、異なるコントロールに関連付けられています。 *ボタン -- ボタン リソース(tBTN) *ポップアップ トリガ -- ポップアップ トリガ リソース(tPUT) *セレクタ トリガ -- セレクタ トリガ リソース(tSLT) *リピート ボタン(訳者注: 原文では Repeat control となっていたが誤りと思われる) -- リピート ボタン リソース(tREP) *プッシュ ボタン -- プッシュ ボタン リソース(tPBN) *チェック ボックス -- チェック ボックス リソース(tCBX) *スライダ -- スライダ リソース リソース(tsld) *フィードバック スライダ -- フィードバック スライダ リソース(tslf) 追加情報については、''Palm OS User Interface Guidelines'' を参照してください。 !!{{anchor Control Functions}}コントロール関数 {{goto top,^TOP^}} !{{anchor CtlDrawControl}}CtlDrawControl 関数 {{goto top,^TOP^}} '''目的''' コントロール オブジェクト(とその中のテキストまたはグラフィック)をスクリーン上に描きます。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlDrawControl ( ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **描くコントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' {{span style='color:blue;font-family:monospace;',usable}} 属性が {{span style='color:blue;font-family:monospace;',true}} である場合にのみ、コントロールは描かれます。この関数は {{span style='color:blue;font-family:monospace;',visible}} 属性を {{span style='color:blue;font-family:monospace;',true}} にセットします。 '''互換性''' Palm OS 3.5 より前のリリースでは、ビットマップの上にテキスト ラベルの無いボタンを描くことによってグラフィカル ボタンを作成する方法が普通でした。{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合、代わりにグラフィカル コントロールを使用すべきです。({{goto GraphicControlType,GraphicControlType}} を参照してください。){{span style='color:blue;font-family:monospace;',CtlDrawControl}} は古いタイプのグラフィカル ボタンに対して下位互換を提供しようと試みます。 '''参照''' {{goto CtlSetUsable,CtlSetUsable()}}, {{goto CtlShowControl,CtlShowControl()}} !{{anchor CtlEnabled}}CtlEnabled 関数 {{goto top,^TOP^}} '''目的''' コントロールがペンに反応する場合、{{span style='color:blue;font-family:monospace;',true}} を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' Boolean CtlEnabled ( const ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' コントロール オブジェクトがペンに反応する場合、{{span style='color:blue;font-family:monospace;',true}} を返します。そうでない場合、{{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' この関数は、コントロールがスクリーン上で可視であるかどうかについては示しません。ペンに反応しないコントロールは可視かもしれません、そしてそうである場合、そのコントロールの見え方はペンに反応するコントロールと変わりません。そのようなコントロールを、アプリケーションの変更できない状態を表示するために、使用するかもしれません。 '''参照''' {{goto CtlSetEnabled,CtlSetEnabled()}} !{{anchor CtlEraseControl}}CtlEraseControl 関数 {{goto top,^TOP^}} '''目的''' 使用可能かつ可視のコントロール オブジェクトとそのフレームをスクリーンから消します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlEraseControl ( ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **消すコントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''コメント''' この関数は {{span style='color:blue;font-family:monospace;',visible}} 属性を {{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;',drawnAsSelected}} 属性をも {{span style='color:blue;font-family:monospace;',false}} にセットします。 この関数を直接呼び出さないでください。その代わり、この関数を呼び出す {{goto FrmHideObject,FrmHideObject()|Palm OS Programmer's API Reference/11}} を使用してください。 !{{anchor CtlGetLabel}}CtlGetLabel 関数 {{goto top,^TOP^}} '''目的''' コントロールのテキスト ラベルへの文字ポインタを返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' const Char *CtlGetLabel( const ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' null で終了している文字列へのポインタを返します。 '''コメント''' {{span style='color:blue;font-family:monospace;',controlP}} がグラフィカル コントロールまたはスライダ コントロールではないことを確認してください。グラフィカル コントロールとスライダ コントロール構造体はテキスト ラベル フィールドを持っていません。 '''参照''' {{goto CtlSetLabel,CtlSetLabel()}} !{{anchor CtlGetSliderValues}}CtlGetSliderValues 関数 {{goto top,^TOP^}} '''目的''' スライダ コントロールによって使用されている現在の値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlGetSliderValues ( const ControlType *ctlP, UInt16 *minValueP, UInt16 *maxValueP, UInt16 *pageSizeP, UInt16 *valueP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ ctlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',← minValueP}} **スライダの最小値。この値を取得したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← maxValueP}} **スライダの最大値。この値を取得したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← pageSizeP}} **スライダのページ サイズ値。この値を取得したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',← valueP}} **スライダの現在値。この値を取得したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 '''返り値''' 返り値はありません。スライダの値はこの関数へのパラメータの中に収められて返されます。 '''コメント''' {{span style='color:blue;font-family:monospace;',ctlP}} がスライダまたはフィードバック スライダではない場合、この関数はすぐに返ります。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto CtlSetSliderValues,CtlSetSliderValues()}}, {{goto SliderControlType,SliderControlType}} !{{anchor CtlGetValue}}CtlGetValue 関数 {{goto top,^TOP^}} '''目的''' 指定されたコントロールの現在の値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' Int16 CtlGetValue ( const ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' コントロールの現在の値を返します。たいていのコントロールでは、返り値は 0 (off) または 1 (on) のどちらかです。スライダでは、この関数は {{span style='color:blue;font-family:monospace;',value}} フィールドの値を返します。 '''参照''' {{goto CtlSetValue,CtlSetValue()}}, {{goto FrmGetControlGroupSelection,FrmGetControlGroupSelection|Palm OS Programmer's API Reference/11()}}, {{goto FrmSetControlGroupSelection,FrmSetControlGroupSelection()|Palm OS Programmer's API Reference/11}}, {{goto FrmGetControlValue,FrmGetControlValue()|Palm OS Programmer's API Reference/11}}, {{goto FrmSetControlValue,FrmSetControlValue()|Palm OS Programmer's API Reference/11}} !{{anchor CtlHandleEvent}}CtlHandleEvent 関数 {{goto top,^TOP^}} '''目的''' 指定されたコントロール オブジェクトのイベントをハンドルします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' Boolean CtlHandleEvent ( ControlType *controlP, EventType *pEvent ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ pEvent}} **{{span style='color:blue;font-family:monospace;',EventType}} 構造体へのポインタ '''返り値''' この関数によってイベントがハンドルされる場合、{{span style='color:blue;font-family:monospace;',true}} を返します。ハンドルされるイベントを以下に示します。 *{{goto penDownEvent,penDownEvent|Palm OS Programmer's API Reference/2}} -- ペンがコントロールの領域内に接触する。 *{{goto ctlEnterEvent,ctlEnterEvent|Palm OS Programmer's API Reference/2}}, {{goto ctlRepeatEvent,ctlRepeatEvent|Palm OS Programmer's API Reference/2}} それに {{goto ctlExitEvent,ctlExitEvent|Palm OS Programmer's API Reference/2}} -- イベント データの中のコントロール ID がコントロールの ID と一致する。 '''コメント''' この関数でイベントをハンドルするために、コントロール オブジェクトは、使用可能、可視、さらにペンに反応する状態でなくてはなりません。 このルーチンが {{span style='color:blue;font-family:monospace;',penDownEvent}} を受け取ると、ルーチンはペンの位置がコントロール オブジェクトの領域内かどうかをチェックします。領域内である場合、{{span style='color:blue;font-family:monospace;',ctlEnterEvent}} がイベント キューに追加され、このルーチンは終了します。 このルーチンが {{span style='color:blue;font-family:monospace;',ctlEnterEvent}} を受け取ると、コントロールは選択されたか選択を解除されたかに合わせて再描画されます。これはコントロールの前の状態次第です。 このルーチンが {{span style='color:blue;font-family:monospace;',ctlEnterEvent}} または {{span style='color:blue;font-family:monospace;',ctlRepeatEvent}} を受け取ると、ルーチンは渡されたイベント レコードのコントロール ID が指定された紺とローうの ID と一致するかどうかをチェックします。一致する場合、このルーチンはペンが持ち上げられる、または、ペンがオブジェクトの領域から離れるまでペンを追跡します。それ(訳者注: ペンの追跡を終了する出来事)が起こると、ペンがコントロールの領域内で持ち上げられた場合は、{{span style='color:blue;font-family:monospace;',ctlSelectEevent}} がイベント キューに送られます。ペンが領域から出る場合、{{span style='color:blue;font-family:monospace;',ctlExitEvent}} がイベント キューに送られます。 !{{anchor CtlHideControl}}CtlHideControl 関数 {{goto top,^TOP^}} '''目的''' コンロトールの {{span style='color:blue;font-family:monospace;',usable}} 属性を {{span style='color:blue;font-family:monospace;',false}} にセットし、コントロールをスクリーンから消します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlHideControl ( ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **隠すコントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' 使用可能ではないコントロールは描かれず、ペンにも反応しません。 この関数は {{goto CtlEraseControl,CtlEraseControl()}} と似ていますが、({{span style='color:blue;font-family:monospace;',visible}} を {{span style='color:blue;font-family:monospace;',false}} にセットするのに加えて){{span style='color:blue;font-family:monospace;',usable}} をも {{span style='color:blue;font-family:monospace;',false}} にセットする点が異なります。 この関数を直接呼び出さないでください。その代わり、同じ機能を果たし、すべてのユーザ インターフェイス オブジェクトのための {{goto FrmHideObject,FrmHideObject()|Palm OS Programmer's API Reference/11}} を使用してください。 '''参照''' {{goto CtlShowControl,CtlShowControl()}} !{{anchor CtlHitCControl}}CtlHitControl 関数 {{goto top,^TOP^}} '''目的''' コントロールをタップする動作をシミュレートします。この関数は {{goto ctlSelectEvent,ctlSelectEvent|Palm OS Programmer's API Reference/2}} をイベント キューに追加します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlHitControl ( const ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' テスト時に有用です。 !{{anchor CtlNewControl}}CtlNewControl 関数 {{goto top,^TOP^}} '''目的''' 新しいコントロール オブジェクトを動的に作成し、それを指定されたフォームにインストールします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' ControlType *CtlNewControl ( void **formPP, UInt16 ID, ControlStyleType style, const Char *textP, Coord x, Coord y, Coord width, Coord height, FontID font, UInt8 group, Boolean leftAnchor ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ formPP}} **新しいコントロールがインストールされるフォームへのポインタへのポインタ。この値はハンドルされません。つまり、オブジェクトがメモリの中を移動しても {{span style='color:blue;font-family:monospace;',formPP}} 値は変わらないということです。その後の呼び出しの中で、常にこの関数によって返される新しい {{span style='color:blue;font-family:monospace;',formPP}} を使用します。 *{{span style='color:blue;font-family:monospace;',→ ID}} **コントロールの記号的 ID *{{span style='color:blue;font-family:monospace;',→ style}} **作成されるコントロールの種類を指定する {{goto ControlStyleType,ControlStyleType}} 値。(コントロールの種類: ボタン、プッシュ ボタン、リピート ボタン、チェック ボックス、ポップアップ トリガ、ポップアップ セレクタ)グラフィカル コントロールまたはスライダ コントロールを動的に作成するためには、それぞれ {{goto CtlNewGraphicControl,CtlNewGraphicControl()}} または {{goto CtlNewSliderControl,CtlNewSliderControl()}} を使用してください。 *{{span style='color:blue;font-family:monospace;',textP}} **コントロールのテキスト ラベルへのポンタ。{{span style='color:blue;font-family:monospace;',textP}} が {{span style='color:blue;font-family:monospace;',NULL}} の場合、コントロールはラベルを持ちません。ボタン、プッシュ ボタンそれにテキスト ボックスのみがテキスト ラベルを持ちます。このポインタの内容は作成されるコントロール自身のバッファにコピーされるため、{{span style='color:blue;font-family:monospace;',CtlNewControl}} 関数が返った後であればいつでも {{span style='color:blue;font-family:monospace;',textP}} ポインタを解放することができます。この文字列がコピーされるバッファは、フォームからコントロールを削除するとき、または、フォームを削除するときに自動的に解放されます。 *{{span style='color:blue;font-family:monospace;',→ x}} **作成されるコントロールが表示されるウィンドウに関係する、コントロールの領域の左上端の水平座標 *{{span style='color:blue;font-family:monospace;',→ y}} **作成されるコントロールが表示されるウィンドウに関係する、コントロールの領域の左上端の垂直座標 *{{span style='color:blue;font-family:monospace;',→ width}} **ピクセルで表現されたコントロールの幅。有効値は 1-160 です。{{span style='color:blue;font-family:monospace;',width}} または {{span style='color:blue;font-family:monospace;',height}} のどちらかの値が 0 である場合、コントロールは自動的に、テキスト パラメータの値として渡されたテキストを表示するために必要とされるサイズにされます。 *{{span style='color:blue;font-family:monospace;',→ height}} **ピクセルで表現されたコントロールの高さ。有効値は 1-160 です。{{span style='color:blue;font-family:monospace;',width}} または {{span style='color:blue;font-family:monospace;',height}} のどちらかの値が 0 である場合、コントロールは自動的に、テキスト パラメータの値として渡されたテキストを表示するために必要とされるサイズにされます。 *{{span style='color:blue;font-family:monospace;',→ font}} **コントロールのラベルを描くために使用されるフォント *{{span style='color:blue;font-family:monospace;',→ group}} **排他的グループの一部であるプッシュ ボタンまたはチェック ボックスのグループ ID。コントロール ルーチンは、他のコントロールが選択されたとき、選択されていたコントロールの選択を自動的に'''取り消しません'''。それは、それらのコントロールを管理するアプリケーションまたはダイアログ ボックスのようなより高いレベルのオブジェクト次第です。 *{{span style='color:blue;font-family:monospace;',→ leftAnchor}} **{{span style='color:blue;font-family:monospace;',true}} である場合、このコントロールの領域の左端は固定されます。この属性は、ラベル テキストの変更に合わせて動的にリサイズするコントロールによって使用されます。 '''返り値''' 新しいコントロールへのポインタを返します。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto CtlValidatePointer,CtlValidatePointer()}}, {{goto FrmRemoveObject,FrmRemoveObject()|Palm OS Programmer's API Reference/11}} !{{anchor CtlNewGraphicControl}}CtlNewGraphicControl 関数 {{goto top,^TOP^}} '''目的''' 新しいグラフィカル コントロールを動的に作成し、それを指定されたフォームにインストールします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' GraphicControlType *CtlNewGraphicControl( void **formPP, UInt16 ID, ControlStyleType style, DmResID bitmapID, DmResID selectedBitmapID, Coord x, Coord y, Coord width, Coord height, UInt8 group, Boolean leftAnchor ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ formPP}} **新しいコントロールがインストールされるフォームへのポインタへのポインタ。この値はハンドルされません。つまり、オブジェクトがメモリの中を移動しても {{span style='color:blue;font-family:monospace;',formPP}} 値は変わらないということです。その後の呼び出しの中で、常にこの関数によって返される新しい {{span style='color:blue;font-family:monospace;',formPP}} を使用します。 *{{span style='color:blue;font-family:monospace;',→ ID}} **コントロールの記号的 ID *{{span style='color:blue;font-family:monospace;',→ style}} **作成されるコントロールの種類を指定する {{goto ControlStyleType,ControlStyleType}} 値。(コントロールの種類: ボタン、プッシュ ボタン、リピート ボタン、チェック ボックス、ポップアップ トリガ、ポップアップ セレクタ)グラフィカル コントロールはチェック ボックスにはなれません。 *{{span style='color:blue;font-family:monospace;',→ bitmapID}} **ボタンの中に表示されるビットマップのリソース ID。 *{{span style='color:blue;font-family:monospace;',→ selectedBitmapID}} **選択されたときにボタンが異なるビットマップを表示する場合の、選択されたときに表示されるビットマップのリソース ID。 *{{span style='color:blue;font-family:monospace;',→ x}} **作成されるコントロールが表示されるウィンドウに関係する、コントロールの領域の左上端の水平座標 *{{span style='color:blue;font-family:monospace;',→ y}} **作成されるコントロールが表示されるウィンドウに関係する、コントロールの領域の左上端の垂直座標 *{{span style='color:blue;font-family:monospace;',→ width}} **ピクセルで表現されたコントロールの幅。有効値は 1-160 です。 *{{span style='color:blue;font-family:monospace;',→ height}} **ピクセルで表現されたコントロールの高さ。有効値は 1-160 です。 *{{span style='color:blue;font-family:monospace;',→ group}} **排他的グループの一部であるプッシュ ボタンのグループ ID。コントロール ルーチンは、他のコントロールが選択されたとき、選択されていたコントロールの選択を自動的に'''取り消しません'''。それは、それらのコントロールを管理するアプリケーションまたはダイアログ ボックスのようなより高いレベルのオブジェクト次第です。 *{{span style='color:blue;font-family:monospace;',→ leftAnchor}} **{{span style='color:blue;font-family:monospace;',true}} である場合、このコントロールの領域の左端は固定されます。 '''返り値''' 新しいグラフィカル コントロールへのポインタを返します。{{goto GraphicControlType,GraphicControlType}} を参照してください。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto CtlNewSliderControl,CtlNewSliderControl()}}, {{goto CtlNewControl,CtlNewControl()}}, {{goto CtlValidatePointer,CtlValidatePointer()}}, {{goto FrmRemoveObject,FrmRemoveObject()|Palm OS Programmer's API Reference/11}} !{{anchor CtlNewSliderControl}}CtlNewSliderControl 関数 {{goto top,^TOP^}} '''目的''' 新しいスライダまたはフィードバック スライダを動的に作成し、それを指定されたフォームにインストールします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' SliderControlType *CtlNewSliderControl void **formPP, UInt16 ID, ControlStyleType style, DmResID thumbID, DmResID backgroundID, Coord x, Coord y, Coord width, Coord height, UInt16 minValue, UInt16 maxValue, UInt16 pageSize, UInt16 value ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',←→ formPP}} **新しいコントロールがインストールされるフォームへのポインタへのポインタ。この値はハンドルされません。つまり、オブジェクトがメモリの中を移動しても {{span style='color:blue;font-family:monospace;',formPP}} 値は変わらないということです。その後の呼び出しの中で、常にこの関数によって返される新しい {{span style='color:blue;font-family:monospace;',formPP}} を使用します。 *{{span style='color:blue;font-family:monospace;',→ ID}} **コントロールの記号的 ID *{{span style='color:blue;font-family:monospace;',→ style}} **{{span style='color:blue;font-family:monospace;',sliderCtl}} または {{span style='color:blue;font-family:monospace;',feedbackSliderCtl}} のどちらか。{{goto ControlStyleType,ControlStyleType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',thumbID}} **スライダ thumbとして表示されるビットマップのリソース ID。スライダ thumb はスライダの値を変更するためにユーザがドラッグできるノブ(訳者注: 取っ手)です。デフォルトの thumb ビットマップを使用する場合、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',backgroundID}} **スライダの背景として表示されるビットマップのリソース ID。デフォルトの背景ビットマップを使用する場合、このパラメータに {{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',→ x}} **作成されるコントロールが表示されるウィンドウに関係する、コントロールの領域の左上端の水平座標 *{{span style='color:blue;font-family:monospace;',→ y}} **作成されるコントロールが表示されるウィンドウに関係する、コントロールの領域の左上端の垂直座標 *{{span style='color:blue;font-family:monospace;',→ width}} **ピクセルで表現されたコントロールの幅。有効値は 1-160 です。 *{{span style='color:blue;font-family:monospace;',→ height}} **ピクセルで表現されたコントロールの高さ。有効値は 1-160 です。 *{{span style='color:blue;font-family:monospace;',→ minValue}} **スライダの最小値。 *{{span style='color:blue;font-family:monospace;',→ maxValue}} **スライダの最大値。 *{{span style='color:blue;font-family:monospace;',→ pageSize}} **ユーザが thumb の右または左をクリックしたときにスライダの値を増加または減少させる量。 *{{span style='color:blue;font-family:monospace;',→ value}} **スライダの中に表示するための初期値。 '''返り値''' 新しいスライダ コントロールへのポインタを返します。{{goto SliderControlType,SliderControlType}} を参照してください。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto CtlNewGraphicControl,CtlNewGraphicControl()}}, {{goto CtlNewControl,CtlNewControl()}}, {{goto CtlValidatePointer,CtlValidatePointer()}}, {{goto FrmRemoveObject,FrmRemoveObject()|Palm OS Programmer's API Reference/11}} !{{anchor CtlSetEnabled}}CtlSetEnabled 関数 {{goto top,^TOP^}} '''目的''' コントロールを機能可能または機能不可としてセットします。機能不可のコントロールはペンに反応しません。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlSetEnabled ( ControlType *controlP, Boolean usable ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ usable}} **コントロールを機能可能にするには {{span style='color:blue;font-family:monospace;',true}}、コントロールを機能不可にするには {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 '''コメント''' 可視のコントロールを機能不可にした場合、コントロールは表示されたままで、ペンに反応するコントロールと見た目は変わりません。変更できないアプリケーションの状態をユーザに知らせるために、そのようなコントロールを使用することがあるかもしれません。 '''参照''' {{goto CtlEnabled,CtlEnabled()}} !{{anchor CtlSetGraphics}}CtlSetGraphics 関数 {{goto top,^TOP^}} '''目的''' グラフィカル コントロールのためのビットマップをセットし、コントロールが可視の場合はそれを再描画します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlSetGraphics ( ControlType *ctlP, DmResID newBitmapID, DmResID newSelectedBitmapID ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ ctlP}} **グラフィカル コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ newBitmapID}} **コントロールの上に表示するための新しいビットマップのリソース ID。または、現在のビットマップを使用する場合、{{span style='color:blue;font-family:monospace;',NULL}}。 *{{span style='color:blue;font-family:monospace;',→ newSelectedBitmapID}} **コントロールが選択されたときに表示するための新しいビットマップのリソース ID。または、現在のビットマップを使用する場合、{{span style='color:blue;font-family:monospace;',NULL}}。 '''返り値''' 返り値はありません。 '''コメント''' {{span style='color:blue;font-family:monospace;',ctlP}} がグラフィカル コントロールではない場合、この関数はすぐに返ります。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto GraphicControlType,GraphicControlType}} !{{anchor CtlSetLabe}}CtlSetLabel 関数 {{goto top,^TOP^}} '''目的''' 指定されたコントロール オブジェクトのための新しい(訳者注: 原文では current となっていたが誤りと思われる)ラベルをセットし、コントロールが可視の場合はそれを再描画します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlSetLabel ( ControlType *controlP, const Char *newLabel ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロール オブジェクトへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ newLabel}} **新しいテキスト ラベルへのポインタ。null で終了している文字列でなければなりません。 '''返り値''' 返り値はありません。 '''コメント''' この関数は、新しいラベルのサイズに合わせて、コントロールの幅をリサイズします。 この関数は {{span style='color:blue;font-family:monospace;',newLabel}} ポインタをコントロールのデータ構造体の中に保存します。渡された文字列のコピーを作成しません。ですから、{{span style='color:blue;font-family:monospace;',CtlSetLabel}} を使用する場合、文字列を管理しなくてはなりません。文字列が表示されている限りは(つまり、コントロールが表示されている限り、または、新しい文字列を使って {{span style='color:blue;font-family:monospace;',CtlSetLabel}} を再度呼び出すまでは)、文字列が維持されることを保証する必要があり、さらに、文字列がもはや使われなくなったとき(たいていはコントロールを保持していたフォームが解放されるとき)、文字列を解放する必要があります。 {{span style='color:blue;font-family:monospace;',CtlSetLabel}} を一度も使用しないのなら、コントロールのラベルを解放することについて気を配る必要はありません。 {{span style='color:blue;font-family:monospace;',controlP}} がグラフィカル コントロールまたはスライダ コントロールでないことを確認してください。グラフィカル コントロールとスライダ コントロール構造体はテキスト ラベル フィールドを持ちません。そのため、それらのコントロールにラベルをセットしようとするとアプリケーションがクラッシュします。 '''参照''' {{goto CtlGetLabel,CtlGetLabel()}} !{{anchor CtlSetSliderValues}}CtlSetSliderValues 関数 {{goto top,^TOP~}} '''目的''' スライダ コントロールの値を変更し、スライダが可視である場合はそれを再描画します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlSetSliderValues ( ControlType *ctlP, const UInt16 *minValueP, const UInt16 *maxValueP, const UInt16 *pageSizeP, const UInt16 *valueP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ ctlP}} **アクティブではないスライダまたはフィードバック スライダ コントロールへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ minValueP}} **スライダの最小値として使用される新しい値へのポインタ。この値を変更したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',→ maxValueP}} **スライダの最大値として使用される新しい値へのポインタ。この値を変更したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',→ pageSizeP}} **スライダのページ サイズとして使用される新しい値へのポインタ。この値を変更したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 *{{span style='color:blue;font-family:monospace;',→ valueP}} **スライダの現在値として使用される新しい値へのポインタ。この値を変更したくない場合、{{span style='color:blue;font-family:monospace;',NULL}} を渡してください。 '''返り値''' 返り値はありません。 '''コメント''' コントロールのスタイルは {{span style='color:blue;font-family:monospace;',sliderCtl}} または {{span style='color:blue;font-family:monospace;',feedbackSliderCtl}} であり、コントロールが現在ペンを追跡している状態ではない必要があります。スライダが現在ペンを追跡している場合、{{span style='color:blue;font-family:monospace;',value}} フィールドをセットするためには {{goto CtlSetValue,CtlSetValue()}} を使用してください。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto CtlGetSliderValues,CtlGetSliderValues()}}, {{goto SliderControlType,SliderControlType}} !{{anchor CtlSetUsable}}CtlSetUsable 関数 {{goto top,^TOP^}} '''目的''' コントロールを使用可能または使用不可にセットします。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlSetUsable ( ControlType *controlP, Boolean usable ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロールへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ usable}} **コントロールを使用可能にするには {{span style='color:blue;font-family:monospace;',true}}、コントロールを使用不可にするには {{span style='color:blue;font-family:monospace;',false}} '''返り値''' 返り値はありません。 '''コメント''' 使用不可のコントロールは描かれず、ペンにも反応しません。 この関数は、通常、コントロールを更新しません。 '''参照''' {{goto CtlEraseControl,CtlEraseControl()}}, {{goto CtlHideControl,CtlHideControl()}}, {{goto CtlShowControl,CtlShowControl()}} !{{anchor CtlSetValue}}CtlSetValue 関数 {{goto top,^TOP^}} '''目的''' 指定されたコントロールの現在値をセットします。コントロールが可視の場合でも、それは再描画されません。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlSetValue ( ControlType *controlP, Int16 newValue ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロールへのポインタ。({{goto ControlType,ControlType}} を参照してください。) *{{span style='color:blue;font-family:monospace;',→ newValue}} **コントロールにセットされる新しい値。スライダの場合、スライダの最小値と最大値の間の値を指定します。グラフィッカル コントロール、プッシュ ボタンまたはチェック ボックスの場合、off にするには 0 を、on にするには 0 以外を指定します。 '''返り値''' 返り値はありません。 '''コメント''' この関数は、グラフィカル コントロール、スライダ、プッシュ ボタンそれにチェック ボックスに対してのみ機能します。これ以外のすべてのコントロールの値をセットする場合、どのような振る舞いをするか定義されていません。 '''互換性''' スライダとグラフィカル コントロールは、{{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto CtlGetValue,CtlGetValue()}}, {{goto FrmGetControlGroupSelection,FrmGetControlGroupSelection()|Palm OS Programmer's API Reference/11}}, {{goto FrmSetControlGroupSelection,FrmSetControlGroupSelection()|Palm OS Programmer's API Reference/11}}, {{goto FrmGetControlValue,FrmGetControlValue()|Palm OS Programmer's API Reference/11}}, {{goto FrmSetControlValue,FrmSetControlValue()|Palm OS Programmer's API Reference/11}} !{{anchor CtlShowControl}}CtlShowControl 関数 {{goto top,^TOP^}} '''目的''' コントロールの {{span style='color:blue;font-family:monospace;',usable}} 属性を {{span style='color:blue;font-family:monospace;',true}} にセットし、スクリーン上にコントロールを描きます。この関数は {{goto CtlDrawControl,CtlDrawControl()}} を呼び出します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' void CtlShowControl ( ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロールへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' 返り値はありません。 '''コメント''' コントロールがすでに使用可能になっている場合、この関数は {{span style='color:blue;font-family:monospace;',CtlDrawControl}} と等価の関数です。 {{span style='color:blue;font-family:monospace;',visible}} と {{span style='color:blue;font-family:monospace;',usable}} 属性を {{span style='color:blue;font-family:monospace;',true}} にセットします。({{goto ControlAttrType,ControlAttrType}} を参照してください。) この関数を直接呼び出さないでください。代わりに、同じ機能を果たす {{goto FrmShowObject,FrmShowObject()|Palm OS Programmer's API Reference/11}} を呼び出してください。 '''参照''' {{goto CtlHideControl,CtlHideControl()}} !{{anchor CtlValidatePointer}}CtlValidatePointer 関数 {{goto top,^TOP^}} '''目的''' 指定されたポインタが有効なコントロール オブジェクトを参照している場合、{{span style='color:blue;font-family:monospace;',true}} を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',Control.h}} '''Prototype''' Boolean CtlValidatePointer( const ControlType *controlP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ controlP}} **コントロールへのポインタ。({{goto ControlType,ControlType}} を参照してください。) '''返り値''' コントロールへの有効なポインタが渡された場合、{{span style='color:blue;font-family:monospace;',true}} を返します。そうでない場合、{{span style='color:blue;font-family:monospace;',false}} を返します。 '''コメント''' デバッグ用です。製品の中にこの関数を含めないでください。デバッグ ビルドの中で、エラーが起こると、この関数はダイアログを表示し、デバッガを待ちます。 '''互換性''' {{goto 3.0 New Feature Set,3.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto FrmValidatePtr,FrmValidatePtr()|Palm OS Programmer's API Reference/11}}, {{goto WinValidateHandle,WinValidateHandle()|Palm OS Programmer's API Reference/59}} {{div_end}} {{div_begin "style='border-top:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 6 章に戻る|Palm OS Programmer's API Reference/6]] [[↑トップへ|Palm OS Programmer's API Reference]] [[8 章に進む →|Palm OS Programmer's API Reference/8]] {{div_end}}