前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3

9.25. イベント一覧

イベントは、イベントタイプと 2 つのパラメータ( P16 パラメータと P32 パラメータ)から構成されます。

イベントタイプは、 BREW の BREW API AEEEvent イベントです。

P16 パラメータと P32 パラメータは、 BREW のイベントハンドラに渡す、wParam パラメータと dwParam パラメータに対応し、 イベントタイプに付随する情報を格納しているパラメータであり、 その意味はイベントタイプ毎に異なります。

BREW と SophiaFramework UNIVERSE の観点から、イベントには以下の 2 種類があります。

  1. BREW SDK で定義される BREW イベント
  2. SophiaFramework UNIVERSE 独自のレスポンダイベント

イベントの配信方法の観点からは、イベントは以下の 2 種類に分類できます。

  1. 配信型イベント: Distribute 関数を使用して配信するイベントです。 (例)BREW イベント。
  2. コールバック型イベント: InvokeForward() または InvokeBackward 関数を使用して配信するイベントです。 (例)レスポンダイベント。

[Caution] ユーザーイベント

BREW イベント、レスポンダイベント以外にユーザー独自のイベント(ユーザーイベント)も定義できます。

ユーザーイベントについては配信規則がトレーサに設定されていません。

そのため、配信型イベントとしてハンドラを登録してもイベントを受信できません。

ユーザーイベントを配信型イベントとして受信するには、配信規則をトレーサに登録する必要があります。

参照: イベント | BREW イベント | レスポンダイベント | 配信型 | トレーサ | コールバック型 | SFXEvent | SFXEventRange | SFCEventEnum | SFYResponder::Distribute | SFYResponder::InvokeBackward | SFYResponder::InvokeForward SFYApplication::Distribute | SFYApplication::InvokeBackward | SFYApplication::InvokeForward

9.25.1. BREW イベント

BREW イベント( BREW API AEEEvent)は、BREW SDK で定義されるイベントです。

BREW イベントのイベントタイプ名は、BREW SDK で定義されるイベントタイプ名の先頭に SF 接頭語が付加された名前になります。

BREW イベントは、 トレーサに登録された配信規則により、 SFYDistributer インスタンスからレスポンダに配信され、 SFYDistributer インスタンスまたはレスポンダに登録された、 ハンドラを呼び出して実行する、 配信型イベントです。

たとえば、SFEVT_KEY イベント(キーイベント)は BREW イベントです。

[Caution] 標準トレーサに『配信条件: なし[SFYTracer::STATE_NONE]』で配信規則が登録されている BREW イベントを取得する方法

標準トレーサに『配信条件: なし[SFYTracer::STATE_NONE]』で配信規則が登録されているBREW イベントは、 SFYApplication が内部に保持するルート(SFZRoot)を含めレスポンダには配信されません。

これは標準トレーサの配信規則が SFYDistributer インスタンスに登録されているからです。

このイベントを取得するには、SFYDistributer インスタンスに直接ハンドラを登録する必要があります。 具体的には以下の方法で取得します。

  1. SFYApplication::GetDistributer 関数を使用して SFYDistributer のインスタンスを取得します。
  2. SFYDistributer::RegisterHandler 関数を使用してこのイベントのハンドラを登録します。
  3. ハンドラは、どこのクラスに定義してもかまいませんが、レスポンダへの登録時とは異なり、invoker パラメータは null として呼び出されます。 invoker パラメータを使用するときは注意が必要です。

9.25.1.1. アプリ開始イベント[SFEVT_APP_START]

表 9.33. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_APP_START 配信 すべて 背面から前面 あり
[Tip] イベントの配信と処理

イベントはすべてのレスポンダに配信されます。

イベントは背面から前面の順にレスポンダへ配信されます。 ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.34. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
AEEAppStart* 型 Read Only EVT_APP_START と同値です。

例 9.163. ハンドラ宣言

XANDLER_DECLARE_VOIDSTART(FUNCTION)

// または

XANDLER_DECLARE_BOOLSTART(FUNCTION)

例 9.164. ハンドラ実装

XANDLER_IMPLEMENT_VOIDSTART(CLASS, FUNCTION, invoker, environment)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLSTART(CLASS, FUNCTION, invoker, environment)
{
    return false;
}

参照: アプリ開始イベント専用ハンドラ[XANDLER_DECLARE_VOIDSTART または XANDLER_DECLARE_BOOLSTART] | AEEAppStart | BREW API AEEEvent

9.25.1.2. アプリ終了イベント[SFEVT_APP_STOP]

表 9.35. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_APP_STOP 配信 すべて 前面から背面 あり
[Tip] イベントの配信と処理

イベントはすべてのレスポンダに配信されます。

イベントは前面から背面の順にレスポンダへ配信されます。 ハンドラはレスポンダに登録された逆順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.36. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
BoolPtr 型 Read Write EVT_APP_STOP と同値です。

例 9.165. ハンドラ宣言

XANDLER_DECLARE_VOIDSTOP(FUNCTION)

// または

XANDLER_DECLARE_BOOLSTOP(FUNCTION)

例 9.166. ハンドラ実装

XANDLER_IMPLEMENT_VOIDSTOP(CLASS, FUNCTION, invoker, quitable)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLSTOP(CLASS, FUNCTION, invoker, quitable)
{
    return false;
}

参照: アプリ終了イベント専用ハンドラ[XANDLER_DECLARE_VOIDSTOP または XANDLER_DECLARE_BOOLSTOP] | BREW API AEEEvent

9.25.1.3. アプリ再開イベント[SFEVT_APP_RESUME]

表 9.37. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_APP_RESUME 配信 すべて 背面から前面 あり
[Tip] イベントの配信と処理

イベントはすべてのレスポンダに配信されます。

イベントは背面から前面の順にレスポンダへ配信されます。 ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.38. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
AEEAppStart* 型 Read Only EVT_APP_RESUME と同値です。

例 9.167. ハンドラ宣言

XANDLER_DECLARE_VOIDRESUME(FUNCTION)

// または

XANDLER_DECLARE_BOOLRESUME(FUNCTION)

例 9.168. ハンドラ実装

XANDLER_IMPLEMENT_VOIDRESUME(CLASS, FUNCTION, invoker, environment)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLRESUME(CLASS, FUNCTION, invoker, environment)
{
    return false;
}

参照: アプリ再開イベント専用ハンドラ[XANDLER_DECLARE_VOIDRESUME または XANDLER_DECLARE_BOOLRESUME] | AEEAppStart | BREW API AEEEvent

9.25.1.4. アプリ中断イベント[SFEVT_APP_SUSPEND]

表 9.39. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_APP_SUSPEND 配信 すべて 前面から背面 あり
[Tip] イベントの配信と処理

イベントはすべてのレスポンダに配信されます。

イベントは前面から背面の順にレスポンダへ配信されます。 ハンドラはレスポンダに登録された逆順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.40. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
AEESuspendReason AEESuspendInfo* 型 Read Only EVT_APP_SUSPEND と同値です。

例 9.169. ハンドラ宣言

XANDLER_DECLARE_VOIDSUSPEND(FUNCTION)

// または

XANDLER_DECLARE_BOOLSUSPEND(FUNCTION)

例 9.170. ハンドラ実装

XANDLER_IMPLEMENT_VOIDSUSPEND(CLASS, FUNCTION, invoker, reason, info)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLSUSPEND(CLASS, FUNCTION, invoker, reason, info)
{
    return false;
}

参照: アプリ中断イベント専用ハンドラ[XANDLER_DECLARE_VOIDSUSPEND または XANDLER_DECLARE_BOOLSUSPEND] | AEESuspendReason | AEESuspendInfo | BREW API AEEEvent

9.25.1.5. その他のアプリイベント[SFEVT_APP_CONFIG から SFEVT_APP_START_WINDOW]

表 9.41. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_APP_CONFIG から SFEVT_APP_START_WINDOW 配信 なし 前面から背面 なし
[Tip] イベントの配信と処理

このイベントはレスポンダに配信されません(SFYDistributer インスタンスで受信できます)。 そのため、ハンドラは SFYDistributer インスタンスに登録する必要があります。

ハンドラは SFYDistributer インスタンスに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.42. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
イベントに依存 イベントに依存 イベントに依存 EVT_APP_CONFIG から EVT_APP_START_WINDOW と同値です。

例 9.171. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.172. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;
}

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT] | BREW API AEEEvent

9.25.1.6. キーイベント[SFEVT_KEY から SFEVT_KEY_HOOK_RELEASE]

表 9.43. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_KEY から SFEVT_KEY_HOOK_RELEASE 配信 フォーカス 前面から背面 なし
[Tip] イベントの配信と処理

イベントはフォーカスを持つレスポンダに配信されます。

イベントは前面から背面の順にレスポンダへ配信されます。 ハンドラはレスポンダに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.44. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
イベントに依存 イベントに依存 イベントに依存 EVT_KEY から EVT_KEY_HOOK_RELEASE と同値です。

例 9.173. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.174. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;
}

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT] | BREW API AEEEvent

9.25.1.7. コントロールイベント[SFEVT_COMMAND から SFEVT_CTL_TEXT_MODECHANGED]

表 9.45. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_COMMAND から SFEVT_CTL_TEXT_MODECHANGED 配信 フォーカス 前面から背面 なし
[Tip] イベントの配信と処理

イベントはフォーカスを持つレスポンダに配信されます。

イベントは前面から背面の順にレスポンダへ配信されます。 ハンドラはレスポンダに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.46. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
イベントに依存 イベントに依存 イベントに依存 EVT_COMMAND から EVT_CTL_TEXT_MODECHANGED と同値です。

例 9.175. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.176. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;
}

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT] | BREW API AEEEvent

9.25.1.8. ダイアログイベント[SFEVT_DIALOG_INIT から SFEVT_COPYRIGHT_END]

表 9.47. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_DIALOG_INIT から SFEVT_COPYRIGHT_END 配信 フォーカス 前面から背面 なし
[Tip] イベントの配信と処理

イベントはフォーカスを持つレスポンダに配信されます。

イベントは前面から背面の順にレスポンダへ配信されます。 ハンドラはレスポンダに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.48. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
イベントに依存 イベントに依存 イベントに依存 EVT_DIALOG_INIT から EVT_COPYRIGHT_END と同値です。

例 9.177. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.178. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;
}

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT] | BREW API AEEEvent

9.25.1.9. シェルイベント[SFEVT_ALARM から SFEVT_NOTIFY_FAILURE]

表 9.49. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_ALARM から SFEVT_NOTIFY_FAILURE 配信 なし 前面から背面 なし
[Tip] イベントの配信と処理

このイベントはレスポンダに配信されません(SFYDistributer インスタンスで受信できます)。 そのため、ハンドラは SFYDistributer インスタンスに登録する必要があります。

ハンドラは SFYDistributer インスタンスに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.50. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
イベントに依存 イベントに依存 イベントに依存 EVT_ALARM から EVT_NOTIFY_FAILURE と同値です。

例 9.179. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.180. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT] | BREW API AEEEvent

9.25.1.10. デバイスイベント[SFEVT_FLIP から SFEVT_SCR_ROTATE]

表 9.51. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_FLIP から SFEVT_SCR_ROTATE 配信 なし 前面から背面 なし
[Tip] イベントの配信と処理

このイベントはレスポンダに配信されません(SFYDistributer インスタンスで受信できます)。 そのため、ハンドラは SFYDistributer インスタンスに登録する必要があります。

ハンドラは SFYDistributer インスタンスに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.52. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
イベントに依存 イベントに依存 イベントに依存 EVT_FLIP から EVT_SCR_ROTATE と同値です。

例 9.181. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.182. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;
}

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT] | BREW API AEEEvent

9.25.1.11. クリップボードイベント[SFEVT_CB_CUT から SFEVT_CB_PASTE]

表 9.53. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_CB_CUT から SFEVT_CB_PASTE 配信 なし 前面から背面 なし
[Tip] イベントの配信と処理

このイベントはレスポンダに配信されません(SFYDistributer インスタンスで受信できます)。 そのため、ハンドラは SFYDistributer インスタンスに登録する必要があります。

ハンドラは SFYDistributer インスタンスに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.54. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
イベントに依存 イベントに依存 イベントに依存 EVT_CB_CUT から EVT_CB_PASTE と同値です。

例 9.183. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.184. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;
}

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT] | BREW API AEEEvent

9.25.2. レスポンダイベント

レスポンダイベントは、SophiaFramework UNIVERSE で独自に定義されるイベントです。

レスポンダイベントのイベントタイプ名は、 SFEVT_RESPONDER_ 接頭語が付加された名前になります。

レスポンダイベントは SFYResponder::InvokeForward/SFYApplication::InvokeForward または SFYResponder::InvokeBackward/SFYApplication::InvokeBackward 関数を使用して送信され、 レスポンダに登録されたハンドラが呼び出されて実行される コールバック型イベントです。

たとえば、SFEVT_RESPONDER_RENDER イベント(描画イベント)は レスポンダイベントです。

9.25.2.1. 親子イベント[SFEVT_RESPONDER_OWNER]

表 9.55. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_OWNER コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.56. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_OWNER_PARENT SFYResponderPtr 型 Read Only 親レスポンダの変更を通知します。
SFP16_OWNER_REGISTER SFYResponderPtr 型 Read Only 子レスポンダの登録を通知します。
SFP16_OWNER_UNREGISTER SFYResponderPtr 型 Read Only 子レスポンダの登録の解除を通知します。
SFP16_OWNER_ARRANGE SFYResponderPtr 型 Read Only 子レスポンダの順番の変更を通知します。

例 9.185. ハンドラ宣言

XANDLER_DECLARE_VOIDOWNER(FUNCTION)

例 9.186. ハンドラ実装

XANDLER_IMPLEMENT_VOIDOWNER(CLASS, FUNCTION, invoker, reason, responder)
{
    return;
}

参照: 親子イベント専用ハンドラ[XANDLER_DECLARE_VOIDOWNER]

9.25.2.2. フレームイベント[SFEVT_RESPONDER_FRAME]

表 9.57. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_FRAME コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.58. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_FRAME_FRAME SFYResponderPtr 型 Read Only フレームの変更をコンテントレスポンダに通知します。
SFP16_FRAME_CONTENT SFYResponderPtr 型 Read Only コンテントレスポンダの変更をフレームに通知します。

例 9.187. ハンドラ宣言

XANDLER_DECLARE_VOIDFRAME(FUNCTION)

例 9.188. ハンドラ実装

XANDLER_IMPLEMENT_VOIDFRAME(CLASS, FUNCTION, invoker, reason, responder)
{
    return;
}

参照: フレームイベント専用ハンドラ[XANDLER_DECLARE_VOIDFRAME]

9.25.2.3. 領域イベント[SFEVT_RESPONDER_BOUND]

表 9.59. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_BOUND コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.60. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_BOUND_REQUEST SFXRectanglePtr 型 Read / Write 最適な大きさの計算を要求します。
SFP16_BOUND_OPTIMIZE SFXRectanglePtr 型 Read / Write 最適な大きさへの最適化を要求します。
SFP16_BOUND_REAL SFXRectanglePtr 型 Read Only 実領域の変更を通知します。
SFP16_BOUND_VIRTUAL SFXRectanglePtr 型 Read Only 仮想領域の変更を通知します。
SFP16_BOUND_GLOBAL SFXRectanglePtr 型 Read Only [非推奨(廃止予定)]グローバル領域を通知します。

例 9.189. ハンドラ宣言

XANDLER_DECLARE_VOIDBOUND(FUNCTION)

例 9.190. ハンドラ実装

XANDLER_IMPLEMENT_VOIDBOUND(CLASS, FUNCTION, invoker, reason, rectangle)
{
    return;
}
[Note] [非推奨(廃止予定)]グローバル領域イベントについて

(SFEVT_RESPONDER_BOUND, SFP16_BOUND_GLOBAL) イベント(グローバル領域イベント)は廃止予定ですので、 このイベントを処理しないようにしてください。 描画ハンドラの処理などでグローバル領域が必要な場合は、 SFYResponder::GetGlobalBound 関数を呼び出して取得してください。

参照: 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]

9.25.2.4. 余白イベント[SFEVT_RESPONDER_MARGIN]

表 9.61. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_MARGIN コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.62. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_MARGIN_REQUEST SFXMarginPtr 型 Read / Write 最適な大きさの計算を要求します。

例 9.191. ハンドラ宣言

XANDLER_DECLARE_VOIDMARGIN(FUNCTION)

例 9.192. ハンドラ実装

XANDLER_IMPLEMENT_VOIDMARGIN(CLASS, FUNCTION, invoker, reason, margin)
{
    return;
}

参照: 余白イベント専用ハンドラ[XANDLER_DECLARE_VOIDMARGIN]

9.25.2.5. 状態イベント[SFEVT_RESPONDER_STATE]

表 9.63. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_STATE コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.64. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_STATE_VALID Bool 型 Read Only 有効状態の変更を通知します。
SFP16_STATE_VISIBLE Bool 型 Read Only 可視状態の変更を通知します。
SFP16_STATE_ACTIVE Bool 型 Read Only 活性状態の変更を通知します。
SFP16_STATE_ENABLE Bool 型 Read Only 操作可能状態の変更を通知します。
SFP16_STATE_FOCUS Bool 型 Read Only フォーカス状態の変更を通知します。
SFP16_STATE_PRESS Bool 型 Read Only 押下状態の変更を通知します。

例 9.193. ハンドラ宣言

XANDLER_DECLARE_VOIDSTATE(FUNCTION)

例 9.194. ハンドラ実装

XANDLER_IMPLEMENT_VOIDSTATE(CLASS, FUNCTION, invoker, reason, state)
{
    return;
}

参照: 状態イベント専用ハンドラ[XANDLER_DECLARE_VOIDSTATE]

9.25.2.6. フォーカスイベント[SFEVT_RESPONDER_FOCUS]

表 9.65. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_FOCUS コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.66. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_FOCUS_FORWARD Bool 型 Read Only 正順のフォーカスの移動を通知します。
SFP16_FOCUS_BACKWARD Bool 型 Read Only 逆順のフォーカスの移動を通知します。

例 9.195. ハンドラ宣言

XANDLER_DECLARE_VOIDFOCUS(FUNCTION)

例 9.196. ハンドラ実装

XANDLER_IMPLEMENT_VOIDFOCUS(CLASS, FUNCTION, invoker, reason, focus)
{
    return;
}

参照: フォーカスイベント専用ハンドラ[XANDLER_DECLARE_VOIDFOCUS]

9.25.2.7. 描画イベント[SFEVT_RESPONDER_RENDER]

表 9.67. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_RENDER コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.68. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_RENDER_REQUEST SFXGraphicsPtr 型 Read Only 再描画を要求します。

例 9.197. ハンドラ宣言

XANDLER_DECLARE_VOIDRENDER(FUNCTION)

例 9.198. ハンドラ実装

XANDLER_IMPLEMENT_VOIDRENDER(CLASS, FUNCTION, invoker, reason, graphics)
{
    return;
}

参照: 描画イベント専用ハンドラ[XANDLER_DECLARE_VOIDRENDER]

9.25.2.8. スタイルイベント[SFEVT_RESPONDER_STYLE]

表 9.69. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_STYLE コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.70. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_STYLE_COLOR 色の変更を通知します。
SFP16_STYLE_ALIGN アライメントの変更を通知します。
SFP16_STYLE_TEXT テキストの変更を通知します。
SFP16_STYLE_FONT フォントの変更を通知します。
SFP16_STYLE_IMAGE 画像の変更を通知します。

例 9.199. ハンドラ宣言

XANDLER_DECLARE_VOIDSTYLE(FUNCTION)

例 9.200. ハンドラ実装

XANDLER_IMPLEMENT_VOIDSTYLE(CLASS, FUNCTION, invoker, reason)
{
    return;
}

参照: スタイルイベント専用ハンドラ[XANDLER_DECLARE_VOIDSTYLE]

9.25.2.9. 値イベント[SFEVT_RESPONDER_VALUE]

表 9.71. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_VALUE コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.72. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_VALUE_MAXIMUM SInt32 型 Read Only 最大値の変更を通知します。
SFP16_VALUE_MINIMUM SInt32 型 Read Only 最小値の変更を通知します。
SFP16_VALUE_CURRENT SInt32 型 Read Only 現在値の変更を通知します。

例 9.201. ハンドラ宣言

XANDLER_DECLARE_VOIDVALUE(FUNCTION)

例 9.202. ハンドラ実装

XANDLER_IMPLEMENT_VOIDVALUE(CLASS, FUNCTION, invoker, reason, value)
{
    return;
}

参照: 値イベント専用ハンドラ[XANDLER_DECLARE_VOIDVALUE]

9.25.2.10. 結果イベント[SFEVT_RESPONDER_RESULT]

表 9.73. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_RESULT コールバック 前面から背面 なし
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.74. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_RESULT_OK SInt32 型 Read Only 決定を通知します。
SFP16_RESULT_CANCEL キャンセルを通知します。
SFP16_RESULT_ANOTHER その他を通知します。
SFP16_RESULT_ESCAPE 中断を通知します。
SFP16_RESULT_ERROR SFCError 型 Read Only エラーを通知します。

例 9.203. ハンドラ宣言

XANDLER_DECLARE_VOIDRESULT(FUNCTION)

例 9.204. ハンドラ実装

XANDLER_IMPLEMENT_VOIDRESULT(CLASS, FUNCTION, invoker, reason, result)
{
    return;
}

参照: 結果イベント専用ハンドラ[XANDLER_DECLARE_VOIDRESULT]

9.25.2.11. ソフトキーイベント[SFEVT_RESPONDER_SOFTKEY]

表 9.75. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_SOFTKEY コールバック 前面から背面 なし
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された逆順に起動されます。

あるハンドラでイベントが処理されると、そこでイベント処理を終えます。

表 9.76. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
AVK_SOFT1 - - ソフトキー 1 の押下を通知します。
AVK_SOFT2 - - ソフトキー 2 の押下を通知します。
AVK_SOFT3 - - ソフトキー 3 の押下を通知します。
AVK_SOFT4 - - ソフトキー 4 の押下を通知します。

例 9.205. ハンドラ宣言

XANDLER_DECLARE_VOIDEVENT(FUNCTION)

// または

XANDLER_DECLARE_BOOLEVENT(FUNCTION)

例 9.206. ハンドラ実装

XANDLER_IMPLEMENT_VOIDEVENT(CLASS, FUNCTION, invoker, event)
{
    return;
}

// または

XANDLER_IMPLEMENT_BOOLEVENT(CLASS, FUNCTION, invoker, event)
{
    return false;
}

参照: 引数のある汎用ハンドラ[XANDLER_DECLARE_VOIDEVENT または XANDLER_DECLARE_BOOLEVENT]

9.25.2.12. スクロールバーイベント[SFEVT_RESPONDER_SCROLLBAR]

表 9.77. イベントタイプ

イベントタイプ 呼び出し方式 配信条件 処理順序 重複条件
SFEVT_RESPONDER_SCROLLBAR コールバック 背面から前面 あり
[Tip] イベントの配信と処理

イベントは送信先レスポンダにだけ配信されます(送信先レスポンダの子レスポンダには配信されません)。

ハンドラはレスポンダに登録された順に起動されます。

あるハンドラでイベントが処理されても、無くなるまで継続して次のハンドラを起動します。

表 9.78. イベントパラメータ

P16 パラメータ P32 パラメータ P32 入出力 解説
SFP16_SCROLLBAR_ENABLE - - スクロールバーのスクロール可能状態を通知します。

例 9.207. ハンドラ宣言

XANDLER_DECLARE_VOIDSCROLLBAR(FUNCTION)

例 9.208. ハンドラ実装

XANDLER_IMPLEMENT_VOIDSCROLLBAR(CLASS, FUNCTION, invoker, reason)
{
    return;
}

参照: スクロールバーイベント専用ハンドラ[XANDLER_DECLARE_VOIDSCROLLBAR]

9.25.3. その他の定数

表 9.79. その他のイベントタイプ

イベントタイプ 解説
SFEVT_BEGIN 最初の値を表します。
SFEVT_APPLET_CLASS_BEGIN アプレットイベントの最初の値を表します。
SFEVT_APPLET_CLASS_END アプレットイベントの最後の値を表します。
SFEVT_KEY_CLASS_BEGIN キーイベントの最初の値を表します。
SFEVT_KEY_CLASS_END キーイベントの最後の値を表します。
SFEVT_CONTROL_CLASS_BEGIN コントロールイベントの最初の値を表します。
SFEVT_CONTROL_CLASS_END コントロールイベントの最後の値を表します。
SFEVT_DIALOG_CLASS_BEGIN ダイアログイベントの最初の値を表します。
SFEVT_DIALOG_CLASS_END ダイアログイベントの最後の値を表します。
SFEVT_SHELL_CLASS_BEGIN シェルイベントの最初の値を表します。
SFEVT_SHELL_CLASS_END シェルイベントの最後の値を表します。
SFEVT_DEVICE_CLASS_BEGIN デバイスイベントの最初の値を表します。
SFEVT_DEVICE_CLASS_END デバイスイベントの最後の値を表します。
SFEVT_CLIPBOARD_CLASS_BEGIN クリップボードイベントの最初の値を表します。
SFEVT_CLIPBOARD_CLASS_END クリップボードイベントの最後の値を表します。
SFEVT_OEM_CLASS_BEGIN OEM イベントの最初の値を表します。
SFEVT_OEM_CLASS_END OEM イベントの最後の値を表します。
SFEVT_DYNAMIC_CLASS_BEGIN ダイナミックイベントの最初の値を表します。
SFEVT_DYNAMIC_CLASS_END ダイナミックイベントの最後の値を表します。
SFEVT_RESPONDER_CLASS_BEGIN レスポンダイベントの最初の値を表します。
SFEVT_RESPONDER_CLASS_END レスポンダイベントの最後の値を表します。
SFEVT_USER_CLASS_BEGIN ユーザーイベントの最初の値を表します。
SFEVT_USER ユーザーイベントを表します。
SFEVT_USER_CLASS_END ユーザーイベントの最後の値を表します。
SFEVT_NONE 無効なイベントを表します。
SFEVT_END 最後の値を表します。

表 9.80. その他のイベントパラメータ

イベントパラメータ 解説
SFP16_BEGIN 最初の値を表します。
SFP16_NONE 無効なパラメータを表します。
SFP16_END 最後の値を表します。