{{div_begin}} [[← 22 章に戻る|Palm OS Programmer's API Reference/22]] [[↑トップへ|Palm OS Programmer's API Reference]] [[24 章に進む →|Palm OS Programmer's API Reference/24]] {{div_end}} {{div_begin style="margin-bottom:-10px"}} !!!23 その他のユーザ インターフェイス関数 {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *{{goto Miscellaneous User Interface Data Structures,その他のユーザ インターフェイス データ構造体}} **{{goto AddressLookupFields,AddressLookupFields}} **{{goto AddrLookupParamsType,AddrLookupParamsType}} *{{goto Miscellaneous User Interface Functions,その他のユーザ インターフェイス関数}} **{{goto PhoneNumberLookup,PhoneNumberLookup}} **{{goto PhoneNumberLookupCustom,PhoneNumberLookupCustom}} **{{goto ResLoadConstant,ResLoadConstant}} **{{goto ResLoadForm,ResLoadForm}} **{{goto ResLoadMenu,ResLoadMenu}} {{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;'"}} この章はその他のユーザ インターフェイス関数についての説明を提供します。以下の内容についてカバーします: *{{goto Miscellaneous User Interface Data Structures,その他のユーザ インターフェイス データ構造体}} *{{goto Miscellaneous User Interface Functions,その他のユーザ インターフェイス関数}} この章で説明されている関数の宣言はヘッダ ファイル {{span style='color:blue;font-family:monospace;',"AppLaunchCmd.h,PhoneLookup.h"}} それに {{span style='color:blue;font-family:monospace;',UIResources.h}} の中にあります。 !!{{anchor Miscellaneous User Interface Data Structures}}その他のユーザ インターフェイス データ構造体 {{goto top,^TOP^}} {{goto PhoneNumberLookupCustom,PhoneNumberLookupCustom()}} 関数は、現在のカーソル位置に基づいてコンタクト情報を参照するためにこれらのデータ構造体を使用します。 !{{anchor AddressLookupFields}}AddressLookupFields 列挙体 {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',AddressLookupFields}} 列挙体は {{goto AddrLookupParamsType,AddrLookupParamsType}} 構造体の要素 {{span style='color:blue;font-family:monospace;',field1}} と {{span style='color:blue;font-family:monospace;',field2}} を使って、あなたが検索することができるフィールドと返されるフィールドを指定します。{{span style='color:blue;font-family:monospace;',field1}} と {{span style='color:blue;font-family:monospace;',field2}} に {{span style='color:blue;font-family:monospace;',addrLookupFieldCount}} 以外の値の 1 つを渡します。 '''Prototype''' typedef enum { addrLookupName, addrLookupFirstName, addrLookupCompany, addrLookupAddress, addrLookupCity, addrLookupState, addrLookupZipCode, addrLookupCountry, addrLookupTitle, addrLookupCustom1, addrLookupCustom2, addrLookupCustom3, addrLookupCustom4, addrLookupNote, addrLookupWork, addrLookupHome, addrLookupFax, addrLookupOther, addrLookupEmail, addrLookupMain, addrLookupPager, addrLookupMobile, addrLookupSortField, addrLookupListPhone, addrLookupFieldCount, addrLookupNoField = 0xff } AddressLookupFields; !{{anchor AddrLookupParamsType}}AddrLookupParamsType 構造体 {{goto top,^TOP^}} '''目的''' 電話番号参照ダイアログと貼付プロセスを正確に制御するために、この構造体を {{goto PhoneNumberLookupCustom,PhoneNumberLookupCustom()}} に渡します。 '''Prototype''' typedef struct { Char *title; Char *pasteButtonText; Char lookupString[addrLookupStringLength]; AddressLookupFields field1; AddressLookupFields field2; Boolean field2Optional; Boolean userShouldInteract; Char *formatStringP; MemHandle resultStringH; UInt32 uniqueID; } AddrLookupParamsType; typedef AddrLookupParamsType *AddrLookupParamsPtr; '''フィールド''' *{{span style='color:blue;font-family:monospace;',title}} **タイトル バーに表示するタイトル。デフォルトのタイトルを使用するには {{span style='color:blue;font-family:monospace;',NULL}} を渡します。 *{{span style='color:blue;font-family:monospace;',pasteButtonText}} **貼付ボタンに表示するテキスト。デフォルトの "paste" (「貼付」)を使用するには {{span style='color:blue;font-family:monospace;',NULL}} を渡します。 *{{span style='color:blue;font-family:monospace;',lookupString}} **検索する文字列を保持するバッファ。文字列がただ 1 つのレコードに一致する場合、そのレコードはユーザへの検索ダイアログに表示されること無く使用されます。{{goto PhoneNumberLookup,PhoneNumberLookup}} と {{goto PhoneNumberLookupCustom,PhoneNumberLookupCustom}} は両方とも現在の選択またはカーソル位置に基づいてこのフィールドをセットします。 *{{span style='color:blue;font-family:monospace;',field1}} **検索するフィールド。このフィールドは検索ダイアログの左側に表示されます。フィールドがソート フィールドの場合、検索はバイナリ サーチを使って実行されます。フィールドがソート フィールドではない場合、検索はリニア サーチ - これは時間がかかる可能性があります - によって実行されます。検索するフィールドを指定するために {{goto AddressLookupFields,AddressLookupFields}} 列挙体の値の 1 つを渡します。 *{{span style='color:blue;font-family:monospace;',field2}} **右側に表示されるフィールド。しばしば、個人についての何らかの情報を表示します。このフィールドが電話号フィールドで、1 つのレコードが複数の電話番号タイプのインスタンスを持つ場合、電話番号タイプのインスタンスごとにその個人が表示されます。{{span style='color:blue;font-family:monospace;',field1}} と {{span style='color:blue;font-family:monospace;',field2}} のどちらかが電話番号フィールドであるかもしれませんが、両方ともがそうであることはありません。表示するフィールドを指定するために {{goto AddressLookupFields,AddressLookupFields}} 列挙体の値の 1 つを渡します。 *{{span style='color:blue;font-family:monospace;',field2Optional}} **{{span style='color:blue;font-family:monospace;',true}} の値はレコードはリストするための {{span style='color:blue;font-family:monospace;',field2}} を持つ必要がないことを意味します。{{span style='color:blue;font-family:monospace;',false}} の値はレコードがリストされるために {{span style='color:blue;font-family:monospace;',field2}} が要求されることを示します。 *{{span style='color:blue;font-family:monospace;',userShouldInteract}} **{{span style='color:blue;font-family:monospace;',true}} の値は、ユーザに非-固有検索を解決することを求めます。{{span style='color:blue;font-family:monospace;',false}} 値は、非-固有で完了した検索は {{span style='color:blue;font-family:monospace;',resultStringH}} を {{span style='color:blue;font-family:monospace;',NULL}} にセットして、{{span style='color:blue;font-family:monospace;',uniqueID}} を 0 にセットすることを意味します。 *{{span style='color:blue;font-family:monospace;',formatStringP}} **貼り付ける文字列のフォーマットを制御します。フォーマットされる文字列の中のすべての文字はそれらがフィールドを示す(先頭がキャレット(^)のフィールド名)のではない限りリテラルです。例えば、フォーマット文字列 "^first - ^home" は "Roger - 123-4567" という結果になるかもしれません。許可されるフィールド名は以下の通りです: ***{{span style='color:blue;font-family:monospace;',name}} ***{{span style='color:blue;font-family:monospace;',first}} ***{{span style='color:blue;font-family:monospace;',company}} ***{{span style='color:blue;font-family:monospace;',address}} ***{{span style='color:blue;font-family:monospace;',city}} ***{{span style='color:blue;font-family:monospace;',state}} ***{{span style='color:blue;font-family:monospace;',zipcode}} ***{{span style='color:blue;font-family:monospace;',country}} ***{{span style='color:blue;font-family:monospace;',title}} ***{{span style='color:blue;font-family:monospace;',custom1}} ***{{span style='color:blue;font-family:monospace;',custom2}} ***{{span style='color:blue;font-family:monospace;',custom3}} ***{{span style='color:blue;font-family:monospace;',custom4}} ***{{span style='color:blue;font-family:monospace;',work}} ***{{span style='color:blue;font-family:monospace;',home}} ***{{span style='color:blue;font-family:monospace;',fax}} ***{{span style='color:blue;font-family:monospace;',other}} ***{{span style='color:blue;font-family:monospace;',email}} ***{{span style='color:blue;font-family:monospace;',main}} ***{{span style='color:blue;font-family:monospace;',pager}} ***{{span style='color:blue;font-family:monospace;',mobile}} ***{{span style='color:blue;font-family:monospace;',listname}} *{{span style='color:blue;font-family:monospace;',resultStringH}} **フォーマット文字列がある場合、結果の文字列はダイナミック ヒープ上に割り当てられ、それのハンドルがここに返されます。 *{{span style='color:blue;font-family:monospace;',uniqueID}} **見つかったレコードの固有 ID がここに返されます。レコードが見つからなかった場合は 0 が返されます。 !!{{anchor Miscellaneous User Interface Functions}}その他のユーザ インターフェイス関数 {{goto top,^TOP^}} !{{anchor PhoneNumberLookup}}PhoneNumberLookup {{goto top,^TOP^}} '''目的''' 電話番号を参照するためにアドレス帳アプリケーションを呼び出します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',PhoneLookup.h}} '''Prototype''' void PhoneNumberLookup ( FieldType *fldP ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fldP}} **フィールド オブジェクト - その中にある一致するテキストを見つけます。 '''返り値''' 返り値はありません。 '''コメント''' この関数はユーザの電話番号リストを表示して、選択された名前と番号(または会社名、名前、番号 - ユーザのアドレス帳設定が示している電話番号のリストのソートの仕方がそのようになっている場合)を指定されたフィールドに挿入します。電話番号のリストを表示するとき、{{span style='color:blue;font-family:monospace;',PhoneNumberLookup}} はリストを提供されたフィールドに最もよく一致するエントリまでスクロールさせます。マッチングはフィールドの内容を名前または会社名(ユーザの設定次第です)と以下のように比較します: *フィールドが選択された (訳者補足: ハイライトされている) テキストを保持している場合、{{span style='color:blue;font-family:monospace;',PhoneNumberLookup}} はそのテキストに対してマッチングさせようとします。そのテキストはマッチングで選択されたアドレス リスト エントリのテキストで置き換えられます。 *フィールドの中に選択された (訳者補足: ハイライトされた) テキストが無い場合、{{span style='color:blue;font-family:monospace;',PhoneNumberLookup}} はカーソルがある場所の単語に対してマッチングを行います (カーソルが単語の開始点、終了点、内部にある場合、マッチングが行われます)。マッチングされた単語はマッチングで選択されたアドレス リスト エントリのテキストで置き換えられます。 *カーソルが単語の内部にない、隣接していない場合、{{span style='color:blue;font-family:monospace;',PhoneNumberLookup}} はアドレス リストを最初のエントリから表示し、リストの中で選択されたエントリはテキスト フィールドの中のカレント ポジションに挿入されます。 アドレス リストが表示されているときにユーザが Cancel を選択した場合、フィールドの内容はそのまま変更されずに残ります。貼り付け操作はクリップボードを通じて行われるため、フィールドを以前の状態に戻すために Undo を使用することができます。 '''互換性''' {{goto 2.0 New Feature Set,2.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 '''参照''' {{goto PhoneNumberLookupCustom,PhoneNumberLookupCustom()}} !{{anchor PhoneNumberLookupCustom}}PhoneNumberLookupCustom {{goto top,^TOP^}} '''目的''' 電話番号を参照するためにアドレス帳アプリケーションを呼び出します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',PhoneLookup.h}} '''Prototype''' void PhoneNumberLookupCustom ( FieldType *fldP, AddrLookupParamsType *params, Boolean useClipboard ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ fldP}} **マッチングさせるテキストを保持しているフィールド オブジェクト。 *{{span style='color:blue;font-family:monospace;',←→ params}} **検索ダイアログと結果の貼付文字列のフォーマットをフル コントロールすることを可能にする構造体。この構造体の中のフィールドの説明は、{{goto AddrLookupParamsType,AddrLookupParamsType}} を参照してください。 *{{span style='color:blue;font-family:monospace;',→ useClipboard}} **{{span style='color:blue;font-family:monospace;',true}} の場合、{{span style='color:blue;font-family:monospace;',PhoneNumberLookupCustom}} は結果をクリップボードを通じて貼り付けし、それによって Undo が可能になります。 '''返り値''' 返り値はありません。 '''コメント''' この関数はユーザのアドレス リストの中にある各レコードから 2 つのレコードを表示して、選択されたレコードのフィールドに基づいてフォーマットされた文字列を指定されたフィールドに挿入します。アドレス リストを表示するとき、{{span style='color:blue;font-family:monospace;',PhoneNumberLookupCustom}} はリストを提供されたフィールドに最も良くマッチするエントリまでスクロールさせます。マッチングは以下のようにフィールドの内容と {{span style='color:blue;font-family:monospace;',params}} 構造体の {{span style='color:blue;font-family:monospace;',field1}} 要素の中で指定されたフィールドとを比較します: *フィールドが選択された (訳者補足: ハイライトされている) テキストを保持している場合、{{span style='color:blue;font-family:monospace;',PhoneNumberLookupCustom}} はそのテキストに対してマッチングさせようとします。そのテキストはマッチングで選択されたアドレス リスト エントリのテキストで置き換えられます。 *フィールドの中に選択された (訳者補足: ハイライトされた) テキストが無い場合、{{span style='color:blue;font-family:monospace;',PhoneNumberLookupCustom}} はカーソルがある場所の単語に対してマッチングを行います (カーソルが単語の開始点、終了点、内部にある場合、マッチングが行われます)。マッチングされた単語はマッチングで選択されたアドレス リスト エントリのテキストで置き換えられます。 *カーソルが単語の内部にない、隣接していない場合、{{span style='color:blue;font-family:monospace;',PhoneNumberLookupCustom}} はアドレス リストを最初のエントリから表示し、リストの中で選択されたエントリはテキスト フィールドの中のカレント ポジションに挿入されます。 ※訳者: 原文では上の 3 つの文中の関数名はすべて {{span style='color:blue;font-family:monospace;',PhoneNumberLookup}} であったが、{{span style='color:blue;font-family:monospace;',PhoneNumberLookupCustom}} であると思われる。 {{span style='color:blue;font-family:monospace;',PhoneNumberLookupCustom}} は検索に使用されるフィールドの一部 - 選択されているテキスト、または、カーソルが位置している場所の単語 - をユーザが選択したアドレス リストのエントリで置き換える前に {{span style='color:blue;font-family:monospace;',params}} 構造体の中の {{span style='color:blue;font-family:monospace;',lokkupString}} フィールドへコピーします。 アドレス リストが表示されているときにユーザが Cancel を選択した場合、フィールドの内容はそのまま変更されずに残ります。{{span style='color:blue;font-family:monospace;',useClipboard}} の値しだいでは、貼り付け操作はクリップボードを通じて行われるため、フィールドを以前の状態に戻すために Undo を使用することができます。 '''互換性''' {{goto 4.0 New Feature Set,4.0 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。 !{{anchor ResLoadConstant}}ResLoadConstant {{goto top,^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;','tint'}} リソースから定数をロードし、その値を返します。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',UIResources.h}} '''Prototype''' UInt32 ResLoadConstant ( UInt16 rscID ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ rscID}} **ロードする {{span style='color:blue;font-family:monospace;','tint'}} リソース (記号的には {{span style='color:blue;font-family:monospace;',constantRscType}} という名前) の ID。 '''返り値''' リソースの中にある 4 バイトの定数値を返します。リソースが見つからなかった場合は 0 を返します。返り値は必要に応じてキャストされるかもしれません。 '''コメント''' 「ソフト定数」 - {{span style='color:blue;font-family:monospace;','tint'}} リソースとして保存されている定数値 - をロードするためにこの関数を使用します。(すべてのオープンされているリソースであなたが指定したリソース ID を探します。) ロケールに依存して定数値が変わる場合、あなたはその定数値をリソースとして保存すべきです。 例として、予定表アプリケーションの設定パネルの中のアラーム サウンド トリガの最大長を考えてみます。このトリガによって表示されるリストはシステムの中に保存されている各サウンドのためのローカライズされている名前を使用します。ローカライズされた名前が使用されるため、予定表アプリケーションがラベルに対して許可する最大長は現在のロケールに依存して変わります。最大長はリソース定数として保存されているため、各オーバレイ データベースは最大長を表す定数として異なる値を指定することができます。 '''互換性''' {{goto 3.5 New Feature Set,3.5 New Feature Set|Palm OS Programmer's API Reference/B-1}} が存在する場合にのみ、実装されます。それより前の Palm OS で実行されることを意図したコードの中でこの関数を使用するには、PalmOSGlue ライブラリにリンクを張って {{span style='color:blue;font-family:monospace;',ResGlueLoadConstant}} を呼び出します。更なる情報は、[[第 80 章 「PalmOSGlue ライブラリ」|Palm OS Programmer's API Reference/80]] を参照してください。 '''参照''' {{goto DmGetResource,DmGetResource()|Palm OS Programmer's API Reference/30-1}}, {{goto DmGet1Resource,DmGet1Resource()|Palm OS Programmer's API Reference/30-1}} !{{anchor ResLoadForm}}ResLoadForm {{goto top,^TOP^}} '''目的''' フォーム リソースをコピーして初期化します。構造体はポインタの更新を除いて完全 (訳者注: すぐ使用できる状態) です。ポインタはフォームの開始点からのオフセットとして保存されています。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',UIResources.h}} '''Prototype''' void *ResLoadForm ( UInt16 rscID ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ rscID}} **フォームのリソース ID。 '''返り値''' フォームが存在しているメモリ ブロックのハンドル。フォーム構造体は {{goto WindowType,WindowType|Palm OS Programmer's API Reference/59-1}} で始まるため、この返り値は {{span style='color:blue;font-family:monospace;',WinHandle}} でもあります。 '''互換性''' {{goto 5.0 New Feature Set,5.0 New Feature Set|Palm OS Programmer's API Reference/B-2}} または {{goto Palm OS Cobalt Feature Set,Palm OS Cobalt Feature Set|Palm OS Programmer's API Reference/B-2}} のどちらかが存在する場合、この関数は実装されません。 !{{anchor ResLoadMenu}}ResLoadMenu {{goto top,^TOP^}} '''目的''' メニュー リソースをコピーして初期化します。構造体はポインタの更新を除いて完全 (訳者注: すぐ使用できる状態) です。ポインタはメニューの開始点からのオフセットとして保存されています。 '''宣言されている場所''' {{span style='color:blue;font-family:monospace;',UIResources.h}} '''Prototype''' void *ResLoadMenu ( UInt16 rscID ) '''パラメータ''' *{{span style='color:blue;font-family:monospace;',→ rscID}} **メニューのリソース ID。 '''返り値''' フォームが存在しているメモリ ブロックのハンドル。フォーム構造体は {{goto WindowType,WindowType|Palm OS Programmer's API Reference/59-1}} で始まるため、この返り値は {{span style='color:blue;font-family:monospace;',WinHandle}} でもあります。 {{div_end}} {{div_begin "style='border-top-style:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 22 章に戻る|Palm OS Programmer's API Reference/22]] [[↑トップへ|Palm OS Programmer's API Reference]] [[24 章に進む →|Palm OS Programmer's API Reference/24]] {{div_end}}