{{div_begin}} [[← 1 章に戻る|Palm OS Programmer's API Reference/1]] [[↑トップへ|Palm OS Programmer's API Reference]] [[3 章に進む →|Palm OS Programmer's API Reference/3]] {{div_end}} {{div_begin style="margin-bottom:-10px;"}} !!!2 Palm OS イベント {{div_end}} {{div_begin "style='position:absolute;right:0px;font-size:70%;margin-right:15px;margin-top:15px;width:250px;'"}} *{{goto Event Data Structures,イベント データ 構造体}} **{{goto eventsEnum,eventsEnum}} **{{goto EventType,EventType}} **{{goto EventPtr,EventPtr}} *{{goto Event Reference,イベント リファレンス}} **{{goto appStopEvent,appStopEvent}} **{{goto attnIndicatorEnterEvent,attnIndicatorEnterEvent}} **{{goto attnIndicatorSelectEvent,attnIndicatorSelectEvent}} **{{goto ctlEnterEvent,ctlEnterEvent}} **{{goto ctlExitEvent,ctlExitEvent}} **{{goto ctlRepeatEvent,ctlRepeatEvent}} **{{goto daySelectEvent,daySelectEvent}} **{{goto fldChangedEvent,fldChangedEvent}} **{{goto fldEnterEvent,fldEnterEvent}} **{{goto fldHeightChangedEvent,fldHeightChangedEvent}} **{{goto frmCloseEvent,frmCloseEvent}} **{{goto frmGadgetEnterEvent,frmGadgetEnterEvent}} **{{goto frmGadgetMiscEvent,frmGadgetMiscEvent}} **{{goto frmGotoEvent,frmGotoEvent}} **{{goto frmLoadEvent,frmLoadEvent}} **{{goto frmObjectFocusLostEvent,frmObjectFocusLostEvent}} **{{goto frmObjectFocusTakeEvent,frmObjectFocusTakeEvent}} **{{goto frmOpenEvent,frmOpenEvent}} **{{goto frmSaveEvent,frmSaveEvent}} **{{goto frmTitleEnterEvent,frmTitleEnterEvent}} **{{goto frmTitleSelectEvent,frmTitleSelectEvent}} **{{goto frmUpdateEvent,frmUpdateEvent}} **{{goto inetSockReadyEvent,inetSockReadyEvent}} **{{goto inetSockStatusChangeEvent,inetSockStatusChangeEvent}} **{{goto keyDownEvent,keyDownEvent}} **{{goto keyHoldEvent,keyHoldEvent}} **{{goto keyUpEvent,keyUpEvent}} **{{goto lstEnterEvent,lstEnterEvent}} **{{goto lstExitEvent,lstExitEvent}} **{{goto lstSelectEvent,lstSelectEvent}} **{{goto menuCloseEvent,menuCloseEvent}} **{{goto menuCmdBarOpenEvent,menuCmdBarOpenEvent}} **{{goto menuEvent,menuEvent}} **{{goto menuOpenEvent,menuOpenEvent}} **{{goto nilEvent,nilEvent}} **{{goto penDownEvent,penDownEvent}} **{{goto penMoveEvent,penMoveEvent}} **{{goto penUpEvent,penUpEvent}} **{{goto popSelectEvent,popSelectEvent}} **{{goto sclEnterEvent,sclEnterEvent}} **{{goto sclExitEvent,sclExitEvent}} **{{goto sclRepeatEvent,sclRepeatEvent}} **{{goto tblEnterEvent,tblEnterEvent}} **{{goto tblExitEvent,tblExitEvent}} **{{goto tblSelectEvent,tblSelectEvent}} **{{goto winDisplayChangedEvent,winDisplayChangedEvent}} **{{goto winEnterEvent,winEnterEvent}} **{{goto winExitEvent,winExitEvent}} {{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;'"}} システムは、グラフィカル ユーザ インターフェイスでユーザと相互作用するときに、Palm OS イベント(ヘッダファイル {{span "style='color:blue;font-family:monospace;'",Event.h}}, {{span "style='color:blue;font-family:monospace;'",SysEvent.h}}, {{span "style='color:blue;font-family:monospace;'",INetMgr.h}} で定義されています。)をアプリケーションに送信します。Palm OS Programmer's Companion, vol. I の [[3 章 「イベント ループ」|Palm OS Programmer's Companion Volume I/3]] でイベントがどのような働きをするのか詳しく説明します。この章では、それぞれのイベントについてのリファレンス情報を提供します。まず最初に Palm OS イベントで使用される型(Type)を示します。次にそれぞれのイベントについてアルファベット順に説明していきます。 , イベント, UI Object , "{{goto appStopEvent, appStopEvent}}", N.A. , "{{goto ctlEnterEvent, ctlEnterEvent}}, {{goto ctlExitEvent, ctlExitEvent}}, {{goto ctlRepeatEvent, ctlRepeatEvent}}, {{goto ctlSelectEvent, ctlSelectEvent}}", Control , "{{goto daySelectEvent, daySelectEvent}}", N.A. , "{{goto fldChangedEvent, fldChangedEvent}}, {{goto fldEnterEvent, fldEnterEvent}}, {{goto fldHeightChangedEvent, fldHeightChangedEvent}}", Field , "{{goto frmCloseEvent, frmCloseEvent}}, {{goto frmGotoEvent, frmGotoEvent}}, {{goto frmLoadEvent, frmLoadEvent}}, {{goto frmOpenEvent, frmOpenEvent}}, {{goto frmSaveEvent, frmSaveEvent}}, {{goto frmUpdateEvent, frmUpdateEvent}}, {{goto frmTitleEnterEvent, frmTitleEnterEvent}}, {{goto frmTitleSelectEvent, frmTitleSelectEvent}}", Form , "{{goto frmObjectFocusLostEvent, frmObjectFocusLostEvent}}, {{goto frmObjectFocusTakeEvent, frmObjectFocusTakeEvent}}", Form object. , "{{goto frmGadgetEnterEvent, frmGadgetEnterEvent}}, {{goto frmGadgetMiscEvent, frmGadgetMiscEvent}}", Extended gadget , "{{goto inetSockReadyEvent, inetSockReadyEvent}}, {{goto inetSockStatusChangeEvent, inetSockStatusChangeEvent}}", N.A. (INetLib) , "{{goto keyDownEvent, keyDownEvent}}, {{goto keyUpEvent, keyUpEvent}}", N.A. , "{{goto lstEnterEvent, lstEnterEvent}}, {{goto lstExitEvent, lstExitEvent}}, {{goto lstSelectEvent, lstSelectEvent}}", List , "{{goto menuEvent, menuEvent}}, {{goto menuOpenEvent, menuOpenEvent}}, {{goto menuCloseEvent, menuCloseEvent}}, {{goto menuCmdBarOpenEvent, menuCmdBarOpenEvent}}", Menu , "{{goto nilEvent, nilEvent}}", N.A. , "{{goto penDownEvent, penDownEvent}}, {{goto penMoveEvent, penMoveEvent}}, {{goto penUpEvent, penUpEvent}}", N.A. (pen) , "{{goto popSelectEvent, popSelectEvent}}", Popup (Control) , "{{goto sclEnterEvent, sclEnterEvent}}, {{goto sclRepeatEvent, sclRepeatEvent}}, {{goto sclExitEvent, sclExitEvent}}", Scroll bar , "{{goto tblEnterEvent, tblEnterEvent}}, {{goto tblExitEvent, tblExitEvent}}, {{goto tblSelectEvent, tblSelectEvent}}", Table , "{{goto winDisplayChangedEvent, winDisplayChangedEvent}}, {{goto winEnterEvent, winEnterEvent}}, {{goto winExitEvent, winExitEvent}}", Window !!{{anchor Event Data Structures}}イベント データ構造体 {{goto top, ^TOP^}} !{{anchor eventsEnum}}eventsEnum {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",eventsEnum}} 列挙型は可能なイベント タイプを指定します。 '''Prototype''' typedef enum { nilEvent = 0, penDownEvent, penUpEvent, penMoveEvent, keyDownEvent, winEnterEvent, winExitEvent, ctlEnterEvent, ctlExitEvent, ctlSelectEvent, ctlRepeatEvent, lstEnterEvent, lstSelectEvent, lstExitEvent, popSelectEvent, fldEnterEvent, fldHeightChangedEvent, fldChangedEvent, tblEnterEvent, tblSelectEvent, daySelectEvent, menuEvent, appStopEvent = 22, frmLoadEvent, frmOpenEvent, frmGotoEvent, frmUpdateEvent, frmSaveEvent, frmCloseEvent, frmTitleEnterEvent, frmTitleSelectEvent, tblExitEvent, sclEnterEvent, sclExitEvent, sclRepeatEvent, tsmFepModeEvent, attnIndicatorEnterEvent, attnIndicatorSelectEvent, menuCmdBarOpenEvent = 0x0800, menuOpenEvent, menuCloseEvent, frmGadgetEnterEvent, frmGadgetMiscEvent, firstINetLibEvent = 0x1000, firstWebLibEvent = 0x1100, keyUpEvent = 0x4000, keyHoldEvent = 0x4001, frmObjectFocusTakeEvent = 0x4002, frmObjectFocusLostEvent = 0x4003, firstUserEvent = 0x6000, lastUserEvent = 0x7FFF } eventsEnum; 以下では、これらのイベント タイプについてアルファベット順で説明していきます。 !{{anchor EventType}}EventType 構造体 {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",EventType}} 構造体はシステム イベントに関係するすべてのデータを含んでいます。すべてのイベント データはいくつかの共通のデータを持っています。また、ほとんどのイベントはイベントを特定するためのデータを持っています。特定のデータは{{span "style='color:blue;font-family:monospace;'",EventType}} データ構造体の一部である共用体(union)を使用します。特定のデータの共用体(union)は最大 16 バイトです。 共通データについては、以下の構造体で説明します。{{span "style='color:blue;font-family:monospace;'",イベント リファレンス}} セクションでは、イベントの各タイプに関連する重要なデータについて詳しく説明します。 '''Prototype''' typedef struct { eventsEnum eType; Boolean penDown; UInt8 tapCount; Int16 screenX; Int16 screenY; union{ ... } data; } EventType; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",eType}} **{{span "style='color:blue;font-family:monospace;'",eventsEnum}} の定数の1つです。イベントのタイプを特定します。 *{{span "style='color:blue;font-family:monospace;'",penDonw}} **イベントが生じたときに、ペンがパネルに接触していれば{{span "style='color:blue;font-family:monospace;'",true}} です。そうでなければ{{span "style='color:blue;font-family:monospace;'",false}} です。 *{{span "style='color:blue;font-family:monospace;'",tapCount}} **タップの回数です。この値は主にフィールドで使用されます。ユーザがテキスト フィールドでタップしたとき、2 回のタップなら 1 文字が選択され、3 回のタップなら 行全体が選択されます。 *{{span "style='color:blue;font-family:monospace;'",screenX}} **ペンがウィンドウに触れた場所をピクセルで示します。(ピクセルはウィンドウの左端から数えます。) *{{span "style='color:blue;font-family:monospace;'",screenY}} **ペンがウィンドウに触れた場所をピクセルで示します。(ピクセルはウィンドウの上端から数えます。) *{{span "style='color:blue;font-family:monospace;'",data}} **もしイベントが {{span "style='color:blue;font-family:monospace;'",data}} を持つ場合のデータです。このデータは共用体で、正確な内容は {{span "style='color:blue;font-family:monospace;'",eType}} フィールドに依存します。この章の {{span "style='color:blue;font-family:monospace;'",イベント リファレンス}}セクションでは、それぞれのイベントの {{span "style='color:blue;font-family:monospace;'",data}} フィードが何を含んでいるのか説明します。 ---- '''NOTE:''' {{span "style='color:blue;font-family:monospace;'",data}} フィールドは、{{span "style='color:blue;font-family:monospace;'",EventType}} の識別しにアクセスするためのパスの一部だということを覚えておいてください。例えば、{{span "style='color:blue;font-family:monospace;'",ctlEnterEvent}} の {{span "style='color:blue;font-family:monospace;'",controlID}} にアクセスするためのコードは以下のようになります。 EventType *event; //... if (event->data.ctlEnter.controlID == MyAppLockButton) }} ---- '''互換性''' {{span "style='color:blue;font-family:monospace;'",3.5 New Feature Set}} が存在する場合、{{span "style='color:blue;font-family:monospace;'",tapCount}} フィールドのみが定義されます。そのため、Palm OS 3.5 以降では、新しいイベントをキューに追加する前にイベント構造体をクリアしておくことが特に重要です。クリアしておかなければ、新しいイベントの {{span "style='color:blue;font-family:monospace;'",tapCount}} の値は正確でない可能性があります。 !{{anchor EventPtr}}EventPtr Typedef {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",EventPtr}} は {{span "style='color:blue;font-family:monospace;'",EventType}} へのポインタを定義します。 '''Prototype''' typedef EventType *EventPtr; !!{{anchor Event Reference}}イベント リファレンス {{goto top, ^TOP^}} !{{anchor appStopEvent}}appStopEvent {{goto p0, ^TOP^}} システムが現在実行されているアプリケーションとは別のアプリケーションを開始する場合、イベント マネージャは、現在実行されているアプリケーションを止めるために、このイベントを発します。これにより、アプリケーションはイベント ループから外れ、すべてのファイル、フォームを閉じて、停止しなければなりません。 このイベントでアプリケーションが停止しない場合は、システムは新たなアプリケーションを開始することができません。 !{{anchor attnIndicatorEnterEvent}}attnIndicatorEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmHandleEvent() }} 関数が Attention インディケータの領域内で {{span "style='color:blue;font-family:monospace;'",penDownEvent}} を受け取ったときに、{{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} 関数はこのイベントを発します。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を持ちます。 '''Prototype''' struct attnIndicatorEnter { UInt16 formID; } attnIndicatorEnter; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID '''互換性''' このイベントは、{{span "style='color:blue;font-family:monospace;'",5.0 New Feature Set}} が存在する場合にのみサポートされます。 !{{anchor attnIndicatorSelectEvent}}attnIndicatorSelectEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} コントロール関数がこのイベントを発します。{{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} は、 {{span "style='color:blue;font-family:monospace;'",attnIndicatorEnterEvent}} を受け取ると、ペンが上がるまでペンを追跡します。Attention インディケータ領域内でペンが持ち上がると、{{span "style='color:blue;font-family:monospace;'",attnIndicatorSelectEvent}} がイベント キューに追加されます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を持ちます。 '''Prototype''' struct attnIndicatorSelect { UInt16 formID; } attnIndicatorSelect; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID '''互換性''' このイベントは、{{span "style='color:blue;font-family:monospace;'",5.0 New Feature Set}} が存在する場合にのみサポートされます。 !{{anchor ctlEnterEvent}}ctlEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",CtlHandleEvent()}} コントロール ルーチンは、 コントロール領域内で {{span "style='color:blue;font-family:monospace;'",penDownEvent}} を受け取ると、このイベントを発します。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を持ちます。 '''Prototype''' struct ctlEnter { UInt16 controlID; struct ControlType *pControl; } ctlEnter; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",controlID}} **開発者が定義したコントロールのID *{{span "style='color:blue;font-family:monospace;'",pCcontrol}} **コントロール構造体へのポインタ({{span "style='color:blue;font-family:monospace;'",ControlType}}) !{{anchor ctlExitEvent}}ctlExitEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",CtlHandleEvent()}} コントロール ルーチンがこのイベントを発します。{{span "style='color:blue;font-family:monospace;'",CtlHandleEvent}}は、{{span "style='color:blue;font-family:monospace;'",ctlEnterEvent}} を受け取ると、ディスプレイからペンが持ち上がるまでペンを追跡します。ペンがコントロール領域内で持ち上がると、{{span "style='color:blue;font-family:monospace;'",ctlSelectEvent}} がイベント キューに追加されます。ペンがコントロール領域外で持ち上がる(に出る?)と、{{span "style='color:blue;font-family:monospace;'",ctlExitEvent}} がイベント キューに追加されます。{{span "style='color:blue;font-family:monospace;'",EventType}} 構造体の {{span "style='color:blue;font-family:monospace;'",penDown}}, {{span "style='color:blue;font-family:monospace;'",screenX}}, {{span "style='color:blue;font-family:monospace;'",screenY}} フィールドは適切に {{span "style='color:blue;font-family:monospace;'",ctlExitEvent}} に設定されます。また、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct ctlExit { UInt16 controlID; struct ControlType *pControl; } ctlExit; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",controlID}} **開発者が定義したコントロールのID *{{span "style='color:blue;font-family:monospace;'",pCcontrol}} **コントロール構造体へのポインタ({{span "style='color:blue;font-family:monospace;'",ControlType}}) !{{anchor ctlRepeatEvent}}ctlRepeatEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",CtlHandleEvent()}} コントロール ルーチンがこのイベントを発します。{{span "style='color:blue;font-family:monospace;'",CtlHandleEvent}}は、リピート ボタン(tREP)またはフィードバック スライダ コントロール(tslf)内で {{span "style='color:blue;font-family:monospace;'",ctlEnterEvent}} を受け取ると、{{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} を発します。ペンがコントロール領域内に 0.5 秒以上接している場合、{{span "style='color:blue;font-family:monospace;'",CtlHandleEvent}}は、リピート ボタン(tREP)内で {{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} を受け取ると、別の {{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} を発します。 {{span "style='color:blue;font-family:monospace;'",CtlHandleEvent}}は、フィードバック スライダ コントロール内で {{span "style='color:blue;font-family:monospace;'",ctlReapetEvent}} を受け取ると、スライダが少なくとも 1 ピクセル動くたびに {{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} を発します。リピート ボタンと違い、フィードバック スライダは、定期的に {{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} を発することはありません。 {{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} に {{span "style='color:blue;font-family:monospace;'",true}} を返すと、{{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} ループは停止します。それ以上 {{span "style='color:blue;font-family:monospace;'",ctlRepeatEvent}} は発せられません。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct ctlRepeat { UInt16 controlID; struct ControlType *pControl; UInt32 time; UInt16 value; } ctlRepeat; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",controlID}} **開発者が定義したコントロールのID *{{span "style='color:blue;font-family:monospace;'",pCcontrol}} **コントロール構造体へのポインタ({{span "style='color:blue;font-family:monospace;'",ControlType}}) *{{span "style='color:blue;font-family:monospace;'",time}} **このイベントがキューに追加されると、システム チェックがカウントされます。 *{{span "style='color:blue;font-family:monospace;'",value}} **コントロールがフィードバック スライダの場合の現在値 '''互換性''' {{span "style='color:blue;font-family:monospace;'",value}} は、{{span "style='color:blue;font-family:monospace;'",5.0 New Feature Set}} が存在する場合にのみ存在します。 !{{anchor daySelectEvent}}daySelectEvent {{goto p0, ^TOP^}} '''目的''' 日にち選択オブジェクトをハンドルするシステム内の {{span "style='color:blue;font-family:monospace;'",DayHandleEvent()}} ルーチンがこのイベントをハンドルします。日にち選択オブジェクトが月を表示しているとき、ユーザはタップで日にちを選択できます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct daySelect { struct DaySelectorType *pSelector; Int16 selection; Boolean useThisDate; UInt8 reserved1; } daySelect; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",pSelector}} **日にち選択構造体({{span "style='color:blue;font-family:monospace;'",DaySelectorType}})へのポインタ *{{span "style='color:blue;font-family:monospace;'",selection}} **使用されません。 *{{span "style='color:blue;font-family:monospace;'",useThisDate}} **選択された日付を自動的に使用する場合は {{span "style='color:blue;font-family:monospace;'",true}} にセットします。 *{{span "style='color:blue;font-family:monospace;'",reserved1}} **使用されません。 !{{anchor ctlSelectEvent}}ctlSelectEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",CtlHandleEvent()}} コントロール ルーチンがこのイベントを発します。{{span "style='color:blue;font-family:monospace;'",CtlHandleEvent}}は、{{span "style='color:blue;font-family:monospace;'",ctlEnterEvent}} を受け取ると、ペンが持ち上がるまでペンを追跡します。ペンが落ちたコントロール内でペンが持ち上がると、{{span "style='color:blue;font-family:monospace;'",cltSelectEvent}} がイベント キューに追加され、それ以外の場所でペンが持ち上がる(にペンが出る?)と、{{span "style='color:blue;font-family:monospace;'",ctlExitEvent}} がイベント キューに追加されます。 通常、イベント ハンドラが {{span "style='color:blue;font-family:monospace;'",true}} を返しても、{{span "style='color:blue;font-family:monospace;'",false}} を返しても問題にはなりません。なぜなら、オペレーティング システムはこのイベントをハンドルしていないからです。ポップアップ トリガのデフォルトのイベント ハンドラはこのイベントをハンドルしませんが、リストが実際に表示されるため、このインスタンスには {{span "style='color:blue;font-family:monospace;'",false}} を返さなくてはなりません。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct ctlSelect { UInt16 controlID; struct ControlType *pControl; Boolean on; UInt8 reserved1; UInt16 value; } ctlSelect; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",controlID}} **開発者が定義したコントロールのID *{{span "style='color:blue;font-family:monospace;'",pCcontrol}} **コントロール構造体へのポインタ({{span "style='color:blue;font-family:monospace;'",ControlType}}) *{{span "style='color:blue;font-family:monospace;'",on}} **コントロールが機能していないときは {{span "style='color:blue;font-family:monospace;'",true}}です。そうでなければ {{span "style='color:blue;font-family:monospace;'",false}} です。 *{{span "style='color:blue;font-family:monospace;'",reserved1}} **使用されません。 *{{span "style='color:blue;font-family:monospace;'",value}} **コントロールがスライダの場合の現在値 '''互換性''' {{span "style='color:blue;font-family:monospace;'",value}} は、{{span "style='color:blue;font-family:monospace;'",5.0 New Feature Set}} が存在する場合にのみ存在します。 !{{anchor fldChangedEvent}}fldChangedEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FldHandleEvent()}} フィールド ルーチンは、フィールドが持つテキストがスクロールする、あるいはスクロールされたときに、このイベントを発します。このイベントは、スクロールを起こすフィールド コードのすべての呼び出しから引き起こすことができます。たいていの場合、このイベントは {{span "style='color:blue;font-family:monospace;'",FldHandleEvent}} から引き起こされます。 {{span "style='color:blue;font-family:monospace;'",FldHandleEvent}} は {{span "style='color:blue;font-family:monospace;'",fldEnterEvent}} を受け取ると、挿入ポイントを配置し、ペンが持ち上がるまでペンを追跡します。テキストはペンがドラッグされるのに合わせて適切に選択(ハイライト)されます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct fldChanged { UInt16 fieldID; struct FieldType *pField; } fldChanged; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",fieldID}} **開発者が定義したフィールドのID *{{span "style='color:blue;font-family:monospace;'",pField}} **フィールド構造体 {{span "style='color:blue;font-family:monospace;'",FieldType}} へのポインタ !{{anchor fldEnterEvent}}fldEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FldHandleEvent()}} フィールド ルーチンは、フィールド領域内で {{span "style='color:blue;font-family:monospace;'",penDownEvent}} を受け取ると、このイベントを発します。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct fldEnter { UInt16 fieldID; struct FieldType *pField; } fldEnter; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",fieldID}} **開発者が定義したフィールドのID *{{span "style='color:blue;font-family:monospace;'",pField}} **フィールド構造体 {{span "style='color:blue;font-family:monospace;'",FieldType}} へのポインタ !{{anchor fldHeightChangedEvent}}fldHeightChangedEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FldHandleEvent()}} を含むいくつかのフィールド ルーチンは、フィールドの行数が変更されたときに、このイベントを発します。これらの関数は、アプリケーションにフィールドの高さを変更する必要があることを通知するために、{{span "style='color:blue;font-family:monospace;'",fldHeightChangedEvent}} を発します。 フィールドがテーブル上にある場合、テーブルのコードが {{span "style='color:blue;font-family:monospace;'",fldHeightChangedEvent}} をハンドルします。フィールドが直接フォームの上にある場合、アプリケーション コード自体が {{span "style='color:blue;font-family:monospace;'",fldHeightChangedEvent}} をハンドルしなくてはなりません。フォーム コードはこのイベントをハンドルしません。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct fldHeightChanged { UInt16 fieldID; struct FieldType *pField; Int16 newHeight; UInt16 currentPos; } fldHeightChanged; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",fieldID}} **開発者が定義したフィールドのID *{{span "style='color:blue;font-family:monospace;'",pField}} **フィールド構造体 {{span "style='color:blue;font-family:monospace;'",FieldType}} へのポインタ *{{span "style='color:blue;font-family:monospace;'",newHeight}} **更新されたフィールドの高さ。(行数で表します。) *{{span "style='color:blue;font-family:monospace;'",currentPos}} **挿入ポイントの現在地 !{{anchor frmCloseEvent}}frmCloseEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmGotoEvent()}} と {{span "style='color:blue;font-family:monospace;'",FrmCloseAllForms()}} フォーム ルーチンがこのイベントを発します。{{span "style='color:blue;font-family:monospace;'",FrmGotoForm}} は現在のアクティブ フォームに {{span "style='color:blue;font-family:monospace;'",frmCloseEvent}} を発します。{{span "style='color:blue;font-family:monospace;'",FrmCloseAllForms}} はメモリにロードされたすべてのフォームに {{span "style='color:blue;font-family:monospace;'",frmCloseEvent}} を発します。アプリケーションがこのイベントを阻止しなければ、{{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} ルーチンは特定のフォームを消去し、そのフォームに割り当てられていたメモリを開放します。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmClose { UInt16 formID; } frmClose; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID !{{anchor frmGadgetEnterEvent}}frmGadgetEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} は、拡張ガゼットの領域内に {{span "style='color:blue;font-family:monospace;'",penDownEvent}} があるとき、このイベントを発します。ガゼット ハンドル関数({{span "style='color:blue;font-family:monospace;'",FormGadgetHandlerType()}} を参照してください)がこのイベントをハンドルしなくてはなりません。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct gadgetEnter { UInt16 gadgetID; struct FormGadgetType *gadgetP; } gadgetEnter; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",gadgetID}} **開発者が定義したガゼットのID *{{span "style='color:blue;font-family:monospace;'",gadgetP}} **このガゼットを表示している {{span "style='color:blue;font-family:monospace;'",FormGadgetType}} オブジェクトへのポインタ '''互換性''' {{span "style='color:blue;font-family:monospace;'",value}} は、{{span "style='color:blue;font-family:monospace;'",5.0 New Feature Set}} が存在する場合にのみ実装されます。 !{{anchor frmGadgetMiscEvent}}frmGadgetMiscEvent {{goto p0, ^TOP^}} '''目的''' アプリケーションは、拡張ガゼットに情報を送る必要があるときに、このイベントを発するかもしれません。{{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} 関数が、拡張ガゼット ハンドラ関数({{span "style='color:blue;font-family:monospace;'",FormGadgetHandlerType()}} を参照してください)に {{span "style='color:blue;font-family:monospace;'",frmGadgetMiscEvent}} 渡します。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct gadgetMisc { UInt16 gadgetID; struct FormGadgetType *gadgetP; UInt16 selector; void *dataP; } gadgetMisc; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",gadgetID}} **開発者が定義したガゼットのID *{{span "style='color:blue;font-family:monospace;'",gadgetP}} **このガゼットを表示している {{span "style='color:blue;font-family:monospace;'",FormGadgetType}} オブジェクトへのポインタ *{{span "style='color:blue;font-family:monospace;'",selector}} **ガゼット ハンドラ関数に渡すための必須の整数値 *{{span "style='color:blue;font-family:monospace;'",dataP}} **ガゼット ハンドラ関数に渡すための必須データへのポインタ '''互換性''' {{span "style='color:blue;font-family:monospace;'",value}} は、{{span "style='color:blue;font-family:monospace;'",5.0 New Feature Set}} が存在する場合にのみ実装されます。 !{{anchor frmGotoEvent}}frmGotoEvent {{goto p0, ^TOP^}} '''目的''' アプリケーションは、{{span "style='color:blue;font-family:monospace;'",sysAppLaunchCmdGoTo}} 開始コードを受け取ったとき、このイベントを発するかもしれません。ユーザがグローバル検索機能でレコードを選択したとき、{{span "style='color:blue;font-family:monospace;'",sysAppLaunchCmdGoTo}} が生成されます。{{span "style='color:blue;font-family:monospace;'",frmOpenEvent}} のように、{{span "style='color:blue;font-family:monospace;'",frmGotoEvent}} はアプリケーションにフォームを初期化して描画するよう要求します。しかし、このイベントは、アプリケーションがフォームのマッチングの取れた文字列を表示し、ハイライトするように追加情報を提供するかもしれません。 アプリケーションはこのイベントをハンドルする責任があります。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmGoto { UInt16 formID; UInt16 recordNum; UInt16 matchPos; UInt16 matchLen; UInt16 matchFieldNum; UInt32 matchCustom; } frmGoto; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID *{{span "style='color:blue;font-family:monospace;'",recordNum}} **一致文字列を含むレコードのインデックス *{{span "style='color:blue;font-family:monospace;'",matchPos}} **一致した位置 *{{span "style='color:blue;font-family:monospace;'",matchLen}} **一致文字列の長さ *{{span "style='color:blue;font-family:monospace;'",matchFieldNum}} **一致文字列が見つかったフィールドの番号 *{{span "style='color:blue;font-family:monospace;'",matchCustomNum}} **アプリケーション特有の情報。レコード内の一致文字列の場所を見つけるための追加情報を提供する必要がある場合に必要になるかもしれません。 !{{anchor frmLoadEvent}}frmLoadEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmGotoForm()}}, {{span "style='color:blue;font-family:monospace;'",FormPopupForm()}} フォーム ルーチンがこのイベントを発します。これはアプリケーションにフォームをメモリにロードするよう要求します。 アプリケーションはこのイベントをハンドルする責任があります。このイベントに対する責任があるため、アプリケーションは、通常、フォームを初期化し、それをアクティブにし、イベント ハンドラをセットします。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmLoad { UInt16 formID; } frmLoad; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID !{{anchor frmObjectFocusLostEvent}}frmObjectFocusLostEvent {{goto p0, ^TOP^}} '''目的''' いくつかのデバイスでは、5-way ナビゲーション ボタンが、ナビゲーション フォーカスがフォームに移動するのに合わせて、このイベントを生成します。このイベントは、オブジェクトがフォーカスを失った後に発せられます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmObjectFocusLost{ UInt16 formID; UInt16 objectID; UInt32 dispatchHint; } frmObjectFocusLost; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID *{{span "style='color:blue;font-family:monospace;'",objectID}} **タブ移動順にあるオブジェクトID *{{span "style='color:blue;font-family:monospace;'",dispatchHint}} **システムのみが使用します。 '''コメント''' このイベントが発せられたとき、システム内のフォーカス構造体はすでに更新されています。ですから、単にフォーカスを失ったオブジェクトの再描画が開始されます。 {{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} がこのイベントを受け取ると、このイベントに関連する UI オブジェクトの 型特有のハンドラを呼び出します。通常、型特有のハンドラは、通常状態では、このイベントに関連する UI オブジェクトを描画し、true を返します。 '''互換性''' 5-way ナビゲーション ボタンを持つ - Handspring Tero 600 Smartphone - などのデバイスがこのイベントを生成します。あるデバイスでこのイベントが生成されるかどうかを確認するには、ライセンスを受けた開発者用のドキュメントを参照してください。 !{{anchor frmObjectFocusTakeEvent}}frmObjectFocusTakeEvent {{goto p0, ^TOP^}} '''目的''' いくつかのデバイスでは、5-way ナビゲーション ボタンが、ナビゲーション フォーカスがフォームに移動するのに合わせて、このイベントを生成します。このイベントは、オブジェクトがフォーカスを得るべきときに発せられます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmObjectFocusLost{ UInt16 formID; UInt16 objectID; UInt32 dispatchHint; } frmObjectFocusTake; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID *{{span "style='color:blue;font-family:monospace;'",objectID}} **タブ移動順にあるオブジェクトID *{{span "style='color:blue;font-family:monospace;'",dispatchHint}} **システムのみが使用します。 '''コメント''' このイベントがハンドルされたとき、システム内のフォーカス構造体はすでに更新されています(このイベントが発せられたときではありません)。 {{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} がこのイベントを受け取ると、このイベントに関連する UI オブジェクトの 型特有のハンドラを呼び出します。型特有のハンドラは関連オブジェクトのために {{span "style='color:blue;font-family:monospace;'",FrmSetFocus()}} を呼び出し、フォーカスされたオブジェクトを描画し、true を返さなくてはなりません。 {{span "style='color:blue;font-family:monospace;'",FrmSetFocus()}} はシステム内のフォーカス構造体を更新してから、{{span "style='color:blue;font-family:monospace;'",frmObjectFocusLostEvent}} を発します。 '''互換性''' 5-way ナビゲーション ボタンを持つ - Handspring Tero 600 Smartphone - などのデバイスがこのイベントを生成します。あるデバイスでこのイベントが生成されるかどうかを確認するには、ライセンスを受けた開発者用のドキュメントを参照してください。 !{{anchor frmOpenEvent}}frmOpenEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmGotoForm()}}, {{span "style='color:blue;font-family:monospace;'",FrmPopupForm()}} フォーム ルーチンがこのイベントを発します。これはアプリケーションにフォームを初期化して表示することを要求します。 アプリケーションはこのイベントをハンドルする責任があります。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmOpen { UInt16 formID; } frmOpen; '''パラメータ''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID !{{anchor frmSaveEvent}}frmSaveEvent {{goto p0, ^TOP^}} {{span "style='color:blue;font-family:monospace;'",FrmSaveAllForms()}} フォーム ルーチンがこのイベントを発します。これはアプリケーションにフォームに格納されているすべてのデータを Save することを要求します。 アプリケーションはこのイベントをハンドルする責任があります。 このイベントに渡されるデータはありません。 !{{anchor frmTitleEnterEvent}}frmTitleEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} コントロール ルーチンは、フォームのタイトル領域内で {{span "style='color:blue;font-family:monospace;'",penDownEvent}} を受け取ると、このイベントを発します。タイトルの文字部分だけがアクティブであり、タイトル バー全体ではないことに注意してください。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmTitleEnter { UInt16 formID; } frmTitleEnter; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID !{{anchor frmTitleSelectEvent}}frmTitleSelectEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} コントロール ルーチンがこのイベントを発します。{{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} は {{span "style='color:blue;font-family:monospace;'",}} を受け取り、ペンが持ち上げられるまでペンを追跡します。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmTitleSelect { UInt16 formID; } frmTitleSelect; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID '''互換性''' Palm OS Version 3.5 以降では、{{span "style='color:blue;font-family:monospace;'",FrmHandleEvent()}} が {{span "style='color:blue;font-family:monospace;'",frmTitleSelectEvent}} に応答します。その応答は、フォームのメニューを表示するために {{span "style='color:blue;font-family:monospace;'",vchrMenu}} キャラクタと共に {{span "style='color:blue;font-family:monospace;'",keyDownEvent}} をキューに入れることです。 !{{anchor frmUpdateEvent}}frmUpdateEvent {{goto p0, ^TOP^}} '''目的''' {{span "style='color:blue;font-family:monospace;'",FrmUpdateForm()}} フォーム ルーチン、またはいくつかの場合には、{{span "style='color:blue;font-family:monospace;'",FrmEraseForm()}} が、消去されるフォームによって表示が崩れる領域を描き直す必要があるときに、このイベントを発します。 一般に、フォームによって表示が崩れる領域はフォーム ルーチンによって保存、再描画され、アプリケーションが介入することはありません。しかし、システムが少ないメモリで動作している場合、フォーム ルーチンは表示の崩れた領域を保存しないかもしれません。 そのような場合、アプリケーションは {{span "style='color:blue;font-family:monospace;'",frmUpdateEvent}} をイベント キューに追加します。フォームはこのイベントを受け取り、{{span "style='color:blue;font-family:monospace;'",updateCode}} の値を用いて領域を再描画します。 アプリケーションは、それ自身の {{span "style='color:blue;font-family:monospace;'",updateCode}} を定義することができ、このイベントを他の(アプリケーションが持つ?)フォームの動作トリガとして使用します。通常、1つのフォームが変更されると、他のフォームに反映される必要があります。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct frmTitleUpdate { UInt16 formID; UInt16 updateCode; } frmUpdate; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",formID}} **開発者が定義したフォームのID *{{span "style='color:blue;font-family:monospace;'",updateCode}} **更新要求により、{{span "style='color:blue;font-family:monospace;'",FrmEraseForm}} はこのコードを {{span "style='color:blue;font-family:monospace;'",frmRedrawUpdateCode}} にセットします。これはフォーム全体を再描画する必要があることを意味します。アプリケーション開発者は自身の {{span "style='color:blue;font-family:monospace;'",updateCode}} を定義することができます。{{span "style='color:blue;font-family:monospace;'",updateCode}} は {{span "style='color:blue;font-family:monospace;'",FrmUpdateForm()}} へのパラメータとして渡されます。 !{{anchor inetSockReadyEvent}}inetSockReadyEvent {{goto p0, ^TOP^}} '''目的''' このイベントは、インターネット ライブラリがソケットに {{span "style='color:blue;font-family:monospace;'",INetLibSockRead()}} のために用意されたデータを持たせることを決定したときに、{{span "style='color:blue;font-family:monospace;'",INetLibGetEvent()}} ({{span "style='color:blue;font-family:monospace;'",EventGetEvent}} ではありません)によってのみ返されます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct { MemHandle sockH; UInt32 context; Boolean inputReady; Boolean outputReady; } inetSockReady; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",sockH}} **このイベントが参照するソケットのソケット ハンドル *{{span "style='color:blue;font-family:monospace;'",context}} **使用されません。 *{{span "style='color:blue;font-family:monospace;'",inputReady}} **ソケットが {{span "style='color:blue;font-family:monospace;'",INetLibSockRead()}} 呼び出し用のデータを保持していれば、{{span "style='color:blue;font-family:monospace;'",true}} です。 *{{span "style='color:blue;font-family:monospace;'",outputReady}} **使用されません。 {{span "style='color:blue;font-family:monospace;'",penDown}}, {{span "style='color:blue;font-family:monospace;'",screenX}}, {{span "style='color:blue;font-family:monospace;'",screenY}} フィールドはインターネット ライブラリ イベントでは意味を持たず、無視されます。 '''互換性''' {{span "style='color:blue;font-family:monospace;'",Wireless Internet Feature Set}} が存在する場合にのみ実装されます。 !{{anchor inetSockStatusChangeEvent}}inetSockStatusChangeEvent {{goto p0, ^TOP^}} '''目的''' このイベントは、インターネット ライブラリがソケットに {{span "style='color:blue;font-family:monospace;'",INetLibSockRead()}} のために用意されたデータを持たせることを決定したときに、{{span "style='color:blue;font-family:monospace;'",INetLibGetEvent()}} ({{span "style='color:blue;font-family:monospace;'",EventGetEvent}} ではありません)によってのみ返されます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct { MemHandle sockH; UInt32 context; UInt16 status; Err sockErr; } inetSockStatusChange; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",sockH}} **このイベントが参照するソケットのソケット ハンドル *{{span "style='color:blue;font-family:monospace;'",context}} **使用されません。 *{{span "style='color:blue;font-family:monospace;'",status}} **ソケットの現在のステータス。これは {{span "style='color:blue;font-family:monospace;'",INetStatusEnum}} 定数の1つです。 *{{span "style='color:blue;font-family:monospace;'",sockErr}} **もしあれば、最後の操作の失敗理由。現在のソケット エラーは {{span "style='color:blue;font-family:monospace;'",INetLibSockStatus()}} を呼び出すことで消去できます。 {{span "style='color:blue;font-family:monospace;'",penDown}}, {{span "style='color:blue;font-family:monospace;'",screenX}}, {{span "style='color:blue;font-family:monospace;'",screenY}} フィールドはインターネット ライブラリ イベントでは意味を持たず、無視されます。 '''互換性''' {{span "style='color:blue;font-family:monospace;'",Wireless Internet Feature Set}} が存在する場合にのみ実装されます。 !{{anchor keyDownEvent}}keyDownEvent {{goto p0, ^TOP^}} '''目的''' このイベントは、ユーザが Graffiti または Graffiti 2 の文字を入力した、ディスプレイ下のボタンの 1 つを押した、あるいはアイコン エリアのアイコンの 1 つ(例えば検索アイコン)をタップしたときに、システムによって発せられます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。{{span "style='color:blue;font-family:monospace;'",data}} フィールドに格納された情報にアクセスするにはこのようにします。 wchar32_t = eventP->data.keyDown.chr; '''Prototype''' struct _KeyDownEventType { WChar chr; UInt16 keyCode; UInt16 modifiers; }; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",chr}} **文字コード *{{span "style='color:blue;font-family:monospace;'",keyCode}} **使用されません。 *{{span "style='color:blue;font-family:monospace;'",modifiers}} **0 または以下の値の 1 つあるいはいくつかをとります。 *{{span "style='color:blue;font-family:monospace;'",shiftKeyMask}} **Graffiti または Graffiti 2 がシフト モードに入っている。 *{{span "style='color:blue;font-family:monospace;'",capsLockMask}} **Graffiti が Cap シフト モードに入っている。(Graffiti 2 では Cap シフト モードはサポートされていません。) *{{span style='color:blue;font-family:monospace;',numLockMask}} **Graffiti または Graffiti 2 が数値 シフト モードに入っている。 *{{span style='color:blue;font-family:monospace;',commandKeyMask}} **グリフがメニュー コマンド グリフまたは仮想キー コードであった。 *{{span style='color:blue;font-family:monospace;',optionKeyMask}} **実装されていません。リザーブされています。 *{{span style='color:blue;font-family:monospace;',controlKeyMask}} **実装されていません。リザーブされています。 *{{span style='color:blue;font-family:monospace;',autoRepeatKeyMask}} **自動繰り返しによりイベントが生成された。 *{{span style='color:blue;font-family:monospace;',doubleTapKeyMask}} **実装されていません。リザーブされています。 *{{span style='color:blue;font-family:monospace;',poweredOnKeyMask}} **ボタンが押されてシステムに電源が入った。 *{{span style='color:blue;font-family:monospace;',appEvtHookKeyMask}} **システムのみが使用します。 *{{span style='color:blue;font-family:monospace;',livEvtHookKeyMask}} **システムのみが使用します。 *{{span style='color:blue;font-family:monospace;',willSendKeyUpMask}} **ハードウェア キーからのみ発せられます。{{span style='color:blue;font-family:monospace;',keyUpEvent}} が発せられるであろう、{{span style='color:blue;font-family:monospace;',keyHoldEvent}} が発せられる可能性があるということを示します。 '''互換性''' {{span "style='color:blue;font-family:monospace;'",willSendKeyUpMask}} は 5-way ナビゲーション ボタンをサポートする - Handspring Treo 600 Smartphone など- デバイスにのみ適用されます。あるデバイスでこのバージョンの {{span style='color:blue;font-family:monospace;',keyDownEvent}} が生成されるかどうかを確認するには、ライセンスを受けた開発者用のドキュメントを参照してください。 ---- '''重要:''' {{span style='color:blue;font-family:monospace;',Graffiti 2 Feature Set}} が存在するなら、アプリケーションは文字のキー押下イベントを受け取るかもしれません。これは、実際のところ、多画文字の一画目であることを意味します。より詳細な情報は ''Palm OS Programmer's Companion, vol. I'' の {{span style='color:blue;font-family:monospace;',"イベント翻訳: ペン ストロークをキー イベントへ"}} を参照してください。 ---- !{{anchor keyHoldEvent}}keyHoldEvent {{goto p0, ^TOP^}} '''目的''' このイベントは、ユーザがデバイスのハード キーをホールドしたときに発せられます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。{{span "style='color:blue;font-family:monospace;'",data}} フィールドに格納された情報にアクセスするにはこのようにします。 wchar32_t = eventP->data.keyHold.chr; '''Prototype''' struct _KeyHoldEventType { WChar chr; UInt16 keyCode; UInt16 modifiers; }; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",chr}} **キャラク タコード *{{span "style='color:blue;font-family:monospace;'",keyCode}} **使用されません。 *{{span "style='color:blue;font-family:monospace;'",modifiers}} **0 または {{span style='color:blue;font-family:monospace;',keyDownEvent}} の {{span style='color:blue;font-family:monospace;',modifiers}} 下にリストされたキー修飾語定数の 1 つあるいはいくつかをとります。 '''コメント''' このイベントは、ハードウェア キーが 1 秒間ホールドされたときに発せられます。(1 秒というタイミングは Palm OS ライセンスを受けた人によって変更されるかもしれないということに注意してください。) {{span style='color:blue;font-family:monospace;',keyDownEvent}} と異なり、{{span style='color:blue;font-family:monospace;',keyHoldEvent}} はハードウェア ボタンに対応するキャラクタ コードによってのみ発せられます。デバイスがハードウェア キーボードを持つならば、キーをホールドすることで {{span style='color:blue;font-family:monospace;',keyDownEvent}} が発せられ、1 秒後に {{span style='color:blue;font-family:monospace;',keyHoldEvent}} が発せられ、最終的には {{span style='color:blue;font-family:monospace;',keyUpEvent}} が発せられます。ユーザがソフトウェア キーボードを使用しているのなら、アプリケーションは {{span style='color:blue;font-family:monospace;',keyDownEvent}} のみを受け取ります。 キーを押下- ホールド するたびにただ 1 つの {{span style='color:blue;font-family:monospace;',keyHoldEvent}} が発せられます。キーがホールドされていていても、1 秒ごとに {{span style='color:blue;font-family:monospace;',keyHoldEvent}} が発せられるわけではありません。 {{span style='color:blue;font-family:monospace;',keyHoldEvent}} はたいていの場合、キーを押下することによってのみ発せられます。例えば、キーが押下、ホールドされ、それからそのキーが開放される前に他のキーが 1 秒以内に押下されると、以下のことが起こります: 最初のキーでは {{span style='color:blue;font-family:monospace;',keyHoldEvent}} は発せられません。しかし、2 番目のキーが 1 秒間ホールドされると {{span style='color:blue;font-family:monospace;',keyHoldEvent}} が発せられます。{{span style='color:blue;font-family:monospace;',keyUpEvent}} は 1 番目と 2 番目のキーのどちらでも開放された場合に発せられることに注意してください。 '''互換性''' 5-way ナビゲーション ボタンをサポートする - Handspring Treo 600 Smartphone など- デバイスがこのイベントを生成します。あるデバイスでこのイベントが生成されるかどうかを確認するには、ライセンスを受けた開発者用のドキュメントを参照してください。 '''参照''' {{span style='color:blue;font-family:monospace;',keyDownEvent}}, {{span style='color:blue;font-family:monospace;',keyUpEvent}} !{{anchor keyUpEvent}}keyUpEvent {{goto p0, ^TOP^}} '''目的''' このイベントは、ユーザがデバイスのハード キーを開放したときに発せられます。 このイベントにより、{{span "style='color:blue;font-family:monospace;'",data}} フィールドは以下の構造体を含みます。{{span "style='color:blue;font-family:monospace;'",data}} フィールドに格納された情報にアクセスするにはこのようにします。 wchar32_t = eventP->data.keyUp.chr; '''Prototype''' struct _KeyHoldEventType { WChar chr; UInt16 keyCode; UInt16 modifiers; }; '''フィールド''' *{{span "style='color:blue;font-family:monospace;'",chr}} **キャラクタ コード *{{span "style='color:blue;font-family:monospace;'",keyCode}} **使用されません。 *{{span "style='color:blue;font-family:monospace;'",modifiers}} **0 または {{span style='color:blue;font-family:monospace;',keyDownEvent}} の {{span style='color:blue;font-family:monospace;',modifiers}} 下にリストされたキー修飾語定数の 1 つあるいはいくつかをとります。 '''コメント''' {{span style='color:blue;font-family:monospace;',keyDownEvent}} とは異なり、{{span style='color:blue;font-family:monospace;',keyUpEvent}} はハードウェア ボタンに対応するキャラクタによってのみ発せられます。デバイスがハードウェア キーボードを持つならば、キャラクタが入力されるたびにアプリケーションは {{span style='color:blue;font-family:monospace;',keyDownEvent}} と {{span style='color:blue;font-family:monospace;',keyUpEvent}} を受け取ります。ユーザがソフトウェア キーボードを使用しているのなら、アプリケーションは {{span style='color:blue;font-family:monospace;',keyDownEvent}} のみを受け取ります。 '''互換性''' 5-way ナビゲーション ボタンをサポートする - Handspring Treo 600 Smartphone など- デバイスがこのイベントを生成します。あるデバイスでこのイベントが生成されるかどうかを確認するには、ライセンスを受けた開発者用のドキュメントを参照してください。 !{{anchor lstEnterEvent}}lstEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',LstHandleEvent()}} リスト ルーチンは、リスト オブジェクトの領域内で {{span style='color:blue;font-family:monospace;',penDownEvent}} を受け取ると、このイベントを発します。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct lstEnter { UInt16 listID; struct ListType *pList; Int16 selection; } lstEnter; '''フィールド''' *{{span style='color:blue;font-family:monospace;',listID}} **開発者が定義したリストのID *{{span style='color:blue;font-family:monospace;',pList}} **{{span style='color:blue;font-family:monospace;',ListType}} 構造体へのポインタ *{{span style='color:blue;font-family:monospace;',selection}} **使用されません。 !{{anchor lstExitEvent}}lstExitEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',LstHandleEvent()}} リスト ルーチンがこのイベントを発します。{{span style='color:blue;font-family:monospace;',LstHandeEvent}} は、{{span style='color:blue;font-family:monospace;',lstEnterEvent}} を受け取ると、ペンが持ち上がるまでペンを追跡します。ペンがリスト領域内で持ち上がると、{{span style='color:blue;font-family:monospace;',lstSelectEvent}} がイベント キューに追加されます。領域外に出てしまうと、{{span style='color:blue;font-family:monospace;',lstExitEvent}} がイベント キューに追加されます。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct lstExit { UInt16 listID; struct ListType *pList; } lstExit; '''フィールド''' *{{span style='color:blue;font-family:monospace;',listID}} **開発者が定義したリストのID *{{span style='color:blue;font-family:monospace;',pList}} **{{span style='color:blue;font-family:monospace;',ListType}} 構造体へのポインタ !{{anchor lstSelectEvent}}lstSelectEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',LstHandleEvent()}} リスト ルーチンがこのイベントを発します。{{span style='color:blue;font-family:monospace;',LstHandeEvent}} は、{{span style='color:blue;font-family:monospace;',lstEnterEvent}} を受け取ると、ペンが持ち上がるまでペンを追跡します。ペンがリスト領域内で持ち上がると、{{span style='color:blue;font-family:monospace;',lstSelectEvent}} がイベント キューに追加されます。領域外に出てしまうと、{{span style='color:blue;font-family:monospace;',lstExitEvent}} がイベント キューに追加されます。 ポップアップ リストは {{span style='color:blue;font-family:monospace;',lstSelectEvent}} を生成しないことに注意してください。そのかわり、ポップアップ リストは {{span style='color:blue;font-family:monospace;',popSelectEvent}} を生成します。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct lstSelect { UInt16 listID; struct ListType *pList; Int16 selection; } lstSelect; '''フィールド''' *{{span style='color:blue;font-family:monospace;',listID}} **開発者が定義したリストのID *{{span style='color:blue;font-family:monospace;',pList}} **{{span style='color:blue;font-family:monospace;',ListType}} 構造体へのポインタ *{{span style='color:blue;font-family:monospace;',selection}} **新たに選択されたアイテムの番号(0 ベース) !{{anchor menuCloseEvent}}menuCloseEvent {{goto p0, ^TOP^}} このイベントは現在使用されません。 !{{anchor menuCmdBarOpenEvent}}menuCmdBarOpenEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',MenuHandleEvent()}} メニュー ルーチンは、ユーザがメニュー ショートカット キーを入力(これにより、コマンド ツールバーが画面下部に表示されます)したとき、このイベントを発します。アプリケーションは、コマンド ツールバーにカスタム ボタンを追加するために {{span style='color:blue;font-family:monospace;',MenuCmdBarAddButton()}} を呼び出すことで、このイベントに応答するかもしれません。登録することで、共有ライブラリあるいは他の非アプリケーション コード リソースは、{{span style='color:blue;font-family:monospace;',sysNotifyMenuCmdBarOpenEvent}} 通知を受け取るために、ツール バーにボタンを追加できます。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct menuCmdBarOpen { Boolean preventFieldButtons; UInt8 reserved; } menuCmdBarOpen; '''フィールド''' *{{span style='color:blue;font-family:monospace;',preventFieldButtons}} **{{span style='color:blue;font-family:monospace;',true}} であれば、フィールド マネージャは、フィールドがフォーカスされたとき、標準の cut, copt, paste, undo ボタンを追加しません。{{span style='color:blue;font-family:monospace;',false}} であれば、フィールドはそれらのボタンを追加します。 *{{span style='color:blue;font-family:monospace;',reserved}} **使用されません。 コマンド ツールバーが表示されるのを防ぐためには、このイベントに応答して {{span style='color:blue;font-family:monospace;',true}} を返してください。{{span style='color:blue;font-family:monospace;',true}} を返すことでフォーム マネージャがツール バーを表示することを防ぐことができます。 '''互換性''' {{span style='color:blue;font-family:monospace;',3.5 New Feature Set}} が存在する場合にのみ実装されます。 !{{anchor menuEvent}}menuEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',MenuHandleEvent()}} メニュー ルーチンがこのイベントを発します: *ユーザがプルダウン メニューからアイテムを選択したとき *ユーザが、コピーの {{span style='color:blue;font-family:monospace;',Command-C}} などの利用可能なコマンドを入力することで、メニュー コマンドを選択したとき **ユーザがコマンド ツールバー上にある {{span style='color:blue;font-family:monospace;',menuEvent}} を生成するようにセット アップされたボタンをタップしたとき このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct menu { UInt16 itemID; } menu; '''フィールド''' *{{span style='color:blue;font-family:monospace;',itemID}} **選択されたメニュー コマンドのアイテムID !{{anchor menuOpenEvent}}menuOpenEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',MenuHandleEvent()}} メニュー ルーチンは、新たなアクティブ メニューが初期化されたとき、このイベントを発します。ユーザが初めてメニュー シルク-スクリーン ボタンまたはフォームのタイトルバーをタップするとメニューがアクティブになります。メニューは、アプリケーションが動作している間に、何度か最初期化と最アクティブ化される必要があるかもしれません。 メニューは以下のことが起きるまではアクティブ状態です。 *{{span style='color:blue;font-family:monospace;',FrmSetMenu()}} が呼び出されてフォーム上のアクティブ メニューを変更する *新たなフォーム(文法フォームやアラート パネルも含む)がアクティブになる ユーザがオプション メニューからアプリケーションの「About item(?)」を選択することを想定する必要があります。「About dialog(?)」は表示されるとアクティブ フォームになり、これによりメイン フォームの状態は消去されます。このメニューの状態は、メイン フォームが再びアクティブになったときに、保存されません。ユーザが再度メニューを呼び出したとき、{{span style='color:blue;font-family:monospace;',menuOpenEvent}} を再び発するために、メニューを再度初期化しなくてはなりません。 アプリケーションは、{{span style='color:blue;font-family:monospace;',MenuAddItem()}}, {{span style='color:blue;font-family:monospace;',MenuHideItem()}}, {{span style='color:blue;font-family:monospace;',MenuShowItem()}} 関数を使用するメニュー アイテムを追加する、隠す、または隠さないことで、このイベントに応答するかもしれません。 {{span style='color:blue;font-family:monospace;',menuCloseEvent}} はシステムによって定義されますが、現在のところそれは発せられません。追加したメニュー アイテムが必要なくなり、クリーン アップ(リソースを閉じるなど)を行う必要がある場合は、{{span style='color:blue;font-family:monospace;',frmCloseEvent}} に応じることで行ってください。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct menuOpen { UInt16 menuRscID; Int16 cause; } menuOpen; '''フィールド''' *{{span style='color:blue;font-family:monospace;',menuRscID}} **メニューのリソースID *{{span style='color:blue;font-family:monospace;',cause}} **メニューが開いた理由。{{span style='color:blue;font-family:monospace;',menuButtonCause}} であれば、ユーザがメニュー シルク-スクリーン ボタンまたはフォームのタイトルバーをタップしたために、メニューが表示されようとしていることになります。{{span style='color:blue;font-family:monospace;',menuCommandCause}} であれば、ユーザがコマンドを入力したために、メニューが表示されずにアクティブ化されようとしていることになります。 '''互換性''' {{span style='color:blue;font-family:monospace;',3.5 New Feature Set}} が存在する場合にのみ実装されます。 !{{anchor nilEvent}}nilEvent {{goto p0, ^TOP^}} {{span style='color:blue;font-family:monospace;',nilEvent}} はアニメーション、ポーリング(訳者注: 通信回線を共有する各端末に順次問い合わせて、サービスを要求している端末を特定すること)などの状況で有用です。 イベント マネージャは、イベント キューにイベントが無いときに、このイベントを発します。これは、{{span style='color:blue;font-family:monospace;',EvtGetEvent()}} にタイム アウト値({{span style='color:blue;font-family:monospace;',evtWaitForever}} = -1 以外の値)渡されたときに起こりえます。{{span style='color:blue;font-family:monospace;',EvtGetEvent()}} は、特定時間内にイベントを返すことができない場合、{{span style='color:blue;font-family:monospace;',nilEvent}} を返します。Palm OS のバージョンやデバイスが異なると、異なる状況で {{span style='color:blue;font-family:monospace;',nilEvent}} 発せられる可能性があります。そのため、タイム アウトの期限切れ前であっても {{span style='color:blue;font-family:monospace;',nilEvent}} を受け取るかもしれません。 !{{anchor penDownEvent}}penDownEvent {{goto p0, ^TOP^}} イベント マネージャは、ペンが最初にデジタイザに触れると、このイベントを発します。 このイベントで以下のデータが渡されます。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',penDown}} **常に{{span style='color:blue;font-family:monospace;',true}} *{{span style='color:blue;font-family:monospace;',tapCount}} **この場所で受け取ったタップ数 *{{span style='color:blue;font-family:monospace;',screenX}} **ペンのウィンドウにおけるピクセル位置(ピクセルはウィンドウの左端から数えます) *{{span style='color:blue;font-family:monospace;',screenY}} **ペンのウィンドウにおけるピクセル位置(ピクセルはウィンドウの上端から数えます) !{{anchor penMoveEvent}}penMoveEvent {{goto p0, ^TOP^}} '''目的''' イベント マネージャは、ペンがデジタイザ上で動かされたとき、このイベントを発します。コントロールやリストなどの何種類かの UI オブジェクトはペンの動きを直接追跡するため、{{span style='color:blue;font-family:monospace;',penMoveEvent}} は生成されないことに注意してください。 このイベントで以下のデータが渡されます。 '''フィールド''' *{{span style='color:blue;font-family:monospace;',penDown}} **常に{{span style='color:blue;font-family:monospace;',true}} *{{span style='color:blue;font-family:monospace;',tapCount}} **この場所で受け取ったタップ数 *{{span style='color:blue;font-family:monospace;',screenX}} **ペンのウィンドウにおけるピクセル位置(ピクセルはウィンドウの左端から数えます) *{{span style='color:blue;font-family:monospace;',screenY}} **ペンのウィンドウにおけるピクセル位置(ピクセルはウィンドウの上端から数えます) !{{anchor penUpEvent}}penUpEvent {{goto p0, ^TOP^}} '''目的''' イベント マネージャは、ペンがデジタイザ上から持ち上げられたとき、このイベントを発します。コントロールやリストなどの何種類かの UI オブジェクトはペンの動きを直接追跡するため、{{span style='color:blue;font-family:monospace;',penUpEvent}} は生成されないことに注意してください。 このイベントで、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct _PenUpEventType { PointType start; PointType end; }; '''フィールド''' *{{span style='color:blue;font-family:monospace;',start}} **ストロークのディスプレイにおける開始位置 *{{span style='color:blue;font-family:monospace;',end}} **ストロークのディスプレイにおける終了位置 さらに、このイベントで以下のデータが渡されます。 *{{span style='color:blue;font-family:monospace;',penDown}} **常に{{span style='color:blue;font-family:monospace;',false}} *{{span style='color:blue;font-family:monospace;',tapCount}} **この場所で受け取ったタップ数 *{{span style='color:blue;font-family:monospace;',screenX}} **ペンのウィンドウにおけるピクセル位置(ピクセルはウィンドウの左端から数えます) *{{span style='color:blue;font-family:monospace;',screenY}} **ペンのウィンドウにおけるピクセル位置(ピクセルはウィンドウの上端から数えます) !{{anchor popSelectEvent}}popSelectEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',FrmHandleEvent()}} フォーム ルーチンは、ユーザがポップアップ リストのアイテムを選択したとき、このイベントを発します。 このイベントで、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct popSelect { UInt16 controlID; struct ControlType *controlP; UInt16 listID; struct ListType *listP; Int16 selection; Int16 priorSelection; } popSelect; '''フィールド''' *{{span style='color:blue;font-family:monospace;',controlID}} **開発者が定義したリソースのID *{{span style='color:blue;font-family:monospace;',controlP}} **ポップアップ トリガ オブジェクトのコントロール構造体({{span style='color:blue;font-family:monospace;',ControlType}})へのポインタ *{{span style='color:blue;font-family:monospace;',listID}} **開発者が定義したポップアップ リスト オブジェクトのID *{{span style='color:blue;font-family:monospace;',selection}} **新たに選択されたリストのアイテムの番号(0 ベース) *{{span style='color:blue;font-family:monospace;',priorSelection}} **前回選択されたリストのアイテムの番号(0 ベース) !{{anchor sclEnterEvent}}sclEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',SclHandleEvent()}} ルーチンは、スクロール バー領域内で {{span style='color:blue;font-family:monospace;',penDownEvent}} を受け取ると、このイベント発します。 通常、アプリケーションはこのイベントをハンドルする必要がありません。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct sclEnter { UInt16 scrollBarID; struct ScrollBarType *pScrollBar; } sclEnter; '''フィールド''' *{{span style='color:blue;font-family:monospace;',scrollBarID}} **開発者が定義したスクロール バー リソースのID *{{span style='color:blue;font-family:monospace;',pScrollBar}} **スクロール バー構造体へのポインタ !{{anchor sclExitEvent}}sclExitEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',SclHandleEvent()}} ルーチンは、ユーザがスクロール バーからペンを移動させると、このイベント発します。 非ダイナミック スクロールを実装するアプリケーションはこのイベントを待ち、{{span style='color:blue;font-family:monospace;',value}} と {{span style='color:blue;font-family:monospace;',newvalue}} で提供される値を使用するテキストをスクロールさせるべきです。 このイベントは前回の {{span style='color:blue;font-family:monospace;',sclRepeatEvent}} にかかわり無く発せられることに注意してください。しかしながら、アプリケーションは、ダイナミック スクロールを実装している場合、このイベントを捕らえる必要はありません。 '''Prototype''' struct sclExit { UInt16 scrollBarID; struct ScrollBarType *pScrollBar; Int16 value; Int16 newValue; } sclExit; '''フィールド''' *{{span style='color:blue;font-family:monospace;',scrollBarID}} **開発者が定義したスクロール バー リソースのID *{{span style='color:blue;font-family:monospace;',pScrollBar}} **スクロール バー構造体へのポインタ *{{span style='color:blue;font-family:monospace;',value}} **スクロール バーの初期位置 *{{span style='color:blue;font-family:monospace;',newvalue}} **スクロール バーの新たな位置。与えられた {{span style='color:blue;font-family:monospace;',value}} と {{span style='color:blue;font-family:monospace;',newvalue}} から実際にスクロールした量を知ることができます。 !{{anchor sclRepeatEvent}}sclRepeatEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',SclHandleEvent()}} ルーチンは、ペンがスクロール バー領域内でホールドされ続けていると、このイベント発します。 ダイナミック スクロールを実装するアプリケーションはこのイベントを待つべきです。ダイナミック スクロールでは、ユーザがスクロール バーをドラッグするのに合わせてディスプレイが更新されます(ユーザがスクロール バーを解放した後ではありません)。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct sclRepeat { UInt16 scrollBarID; struct ScrollBarType *pScrollBar; Int16 value; Int16 newValue; Int32 time; } sclRepeat; '''フィールド''' *{{span style='color:blue;font-family:monospace;',scrollBarID}} **開発者が定義したスクロール バー リソースのID *{{span style='color:blue;font-family:monospace;',pScrollBar}} **スクロール バー構造体へのポインタ *{{span style='color:blue;font-family:monospace;',value}} **スクロール バーの初期位置 *{{span style='color:blue;font-family:monospace;',newvalue}} **スクロール バーの新たな位置。与えられた {{span style='color:blue;font-family:monospace;',value}} と {{span style='color:blue;font-family:monospace;',newvalue}} から実際にスクロールした量を知ることができます。 *{{span style='color:blue;font-family:monospace;',time}} **このイベントがイベント キューに追加されると、システム チェックは、次のイベントをいつ起こすべきか決定するために、カウントを始めます。 !{{anchor tblEnterEvent}}tblEnterEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',tblHandleEvent()}} ルーチンは、テーブル オブジェクトのアクティブなアイテムの領域内で {{span style='color:blue;font-family:monospace;',penDownEvent}} を受け取ると、このイベントを発します。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct tblEnter { UInt16 tableID; struct TableType *pTable; Int16 row; Int16 column; } tblEnter; '''フィールド''' *{{span style='color:blue;font-family:monospace;',tableID}} **開発者が定義したテーブルのID *{{span style='color:blue;font-family:monospace;',pTable}} **テーブル構造体({{span style='color:blue;font-family:monospace;',TableType}})へのポインタ *{{span style='color:blue;font-family:monospace;',row}} **アイテムの列 *{{span style='color:blue;font-family:monospace;',column}} **アイテムの行 !{{anchor tblExitEvent}}tblExitEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',tblHandleEvent()}} ルーチンがこのイベントを発します。{{span style='color:blue;font-family:monospace;',TblHandleEvent}} は {{span style='color:blue;font-family:monospace;',tblEnterEvent}} を受け取ると、ペンがディスプレイから持ち上げられるまでペンを追跡します。ペンが触れ始めたアイテム内で持ち上げられると、{{span style='color:blue;font-family:monospace;',tblSelectEvent}} がイベント キューに追加されます。そうではなく、ペンが触れ始めたアイテムから出ると、{{span style='color:blue;font-family:monospace;',tblExitEvent}} がイベント キューに追加されます。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct tblExit { UInt16 tableID; struct TableType *pTable; Int16 row; Int16 column; } tblExit; '''フィールド''' *{{span style='color:blue;font-family:monospace;',tableID}} **開発者が定義したテーブルのID *{{span style='color:blue;font-family:monospace;',pTable}} **テーブル構造体({{span style='color:blue;font-family:monospace;',TableType}})へのポインタ *{{span style='color:blue;font-family:monospace;',row}} **アイテムの列 *{{span style='color:blue;font-family:monospace;',column}} **アイテムの行 !{{anchor tblSelectEvent}}tblSelectEvent {{goto p0, ^TOP^}} '''目的''' {{span style='color:blue;font-family:monospace;',tblHandleEvent()}} ルーチンがこのイベントを発します。{{span style='color:blue;font-family:monospace;',TblHandleEvent}} は {{span style='color:blue;font-family:monospace;',tblEnterEvent}} を受け取ると、ペンがディスプレイから持ち上げられるまでペンを追跡します。ペンが触れ始めたアイテム内で持ち上げられると、{{span style='color:blue;font-family:monospace;',tblSelectEvent}} がイベント キューに追加されます。そうではなく、ペンが触れ始めたアイテムから出ると、{{span style='color:blue;font-family:monospace;',tblExitEvent}} がイベント キューに追加されます。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct tblSelect { UInt16 tableID; struct TableType *pTable; Int16 row; Int16 column; } tblSelect; '''フィールド''' *{{span style='color:blue;font-family:monospace;',tableID}} **開発者が定義したテーブルのID *{{span style='color:blue;font-family:monospace;',pTable}} **テーブル構造体({{span style='color:blue;font-family:monospace;',TableType}})へのポインタ *{{span style='color:blue;font-family:monospace;',row}} **アイテムの列 *{{span style='color:blue;font-family:monospace;',column}} **アイテムの行 !{{anchor winDisplayChangedEvent}}winDisplayChangedEvent {{goto p0, ^TOP^}} '''目的''' ダイナミック入力エリアがオープンまたはクローズされた後に、{{span style='color:blue;font-family:monospace;',PINSetInputAreaState}} によって発せられます。通常、ユーザはダイナミック入力エリアをオープンしてクローズしますが、アプリケーションはそうしないかもしれません。 アプリケーションは使用可能なスペースにアクティブなフォームを再描画することでこのイベントに応答するかもしれません。 アプリケーションがこのイベントを受け取るとき、OS はすでにディスプレイ ウィンドウの領域を入力エリアの状態に合わせて変更しています。アプリケーションは入力エリアのアクティブなフォームのウィンドウのサイズを変更し、それに合わせてフォームを再度レイアウトしなくてはなりません。 このイベントで渡されるデータはありません。 '''互換性''' {{span style='color:blue;font-family:monospace;',Pen Input Manager Feature Set}} が存在する場合にのみ発せられ、{{span style='color:blue;font-family:monospace;',pinAPIVersion1_1}} を返します。 !{{anchor winEnterEvent}}winEnterEvent {{goto p0, ^TOP^}} '''目的''' イベント マネージャは、ウィンドウがアクティブ ウィンドウになるとき、このイベントを発します。これは 2 通りの方法で引き起こされます: {{span style='color:blue;font-family:monospace;',WinSetActiveWindow()}} への呼び出しが発行される、あるいは、ユーザが見えているがアクティブでないウィンドウの領域内でタップする。フォームはすべてウィンドウですが、すべてのウィンドウがフォームであるわけではありません。例えば、メニュー バーはウィンドウですがフォームではありません。 このイベントにより、{{span style='color:blue;font-family:monospace;',data}} フィールドは以下の構造体を含みます。 '''Prototype''' struct _WinEnterEventType { WinHandle enterWindow; WinHandle exitWindow; }; '''フィールド''' *{{span style='color:blue;font-family:monospace;',enterWindow}} **使用しようとするウィンドウのハンドル。ウィンドウがフォームであるなら、これは {{span style='color:blue;font-family:monospace;',FormType}} 構造体へのポインタです。そうでなければ、{{span style='color:blue;font-family:monospace;',WindowType}} 構造体へのポインタです。 *{{span style='color:blue;font-family:monospace;',exitWindow}} **アクティブ ウィンドウがある場合は、使用を止めようとするウィンドウのハンドル。アクティブ ウィンドウが無い場合は、0。ウィンドウがフォームであるなら、これは {{span style='color:blue;font-family:monospace;',FormType}} 構造体へのポインタです。そうでなければ、{{span style='color:blue;font-family:monospace;',WindowType}} 構造体へのポインタです。 !{{anchor winExitEvent}}winExitEvent {{goto p0, ^TOP^}} '''目的''' このイベントは、ウィンドウが非アクティブ化されたときに、イベント マネージャによって発せられます。別のウィンドウがアクティブになるとき、ウィンドウは非アクティブ化されます({{span style='color:blue;font-family:monospace;',winEnterEvent}} を参照してください)。 '''Prototype''' struct _WinExitEventType { WinHandle enterWindow; WinHandle exitWindow; }; '''フィールド''' *{{span style='color:blue;font-family:monospace;',enterWindow}} **使用しようとするウィンドウのハンドル。ウィンドウがフォームであるなら、これは {{span style='color:blue;font-family:monospace;',FormType}} 構造体へのポインタです。そうでなければ、{{span style='color:blue;font-family:monospace;',WindowType}} 構造体へのポインタです。 *{{span style='color:blue;font-family:monospace;',exitWindow}} **使用を止めようとするウィンドウのハンドル。ウィンドウがフォームであるなら、これは {{span style='color:blue;font-family:monospace;',FormType}} 構造体へのポインタです。そうでなければ、{{span style='color:blue;font-family:monospace;',WindowType}} 構造体へのポインタです。 {{div_end}} {{div_begin "style='border-top-style:solid;border-top-width:1px;border-top-color:silver;'"}} [[← 1 章に戻る|Palm OS Programmer's API Reference/1]] [[↑トップへ|Palm OS Programmer's API Reference]] [[3 章に進む →|Palm OS Programmer's API Reference/3]] {{div_end}}