テーブル通知の表示についてAbout display table notifications

適用されます: OutlookApplies to: Outlook

表示テーブルの通知は、MAPI に表示された表の作成を担当するサービス ・ プロバイダーが送信されます。Notifications on a display table are sent by the service provider responsible for creating the display table to MAPI. MAPI は、表示テーブルのIMAPITable::Adviseメソッドを呼び出すと、テーブルの変更イベントを指定することによって、これらの通知を登録します。MAPI registers for these notifications by calling a display table's IMAPITable::Advise method and specifying the table modified event.

同様に、テーブルのすべての通知は、表示テーブルの通知には、 TABLE_NOTIFICATION構造体が含まれます。As with all table notifications, display table notifications include a TABLE_NOTIFICATION structure. ulTableEventしかし、この構造体のpropIndexメンバーは重要です。他のメンバーは無視されます。Only the ulTableEvent and the propIndex members of this structure are significant; the other members are ignored. UlTableEventメンバーは、TABLE_ROW_MODIFIED に設定されてし、 propIndexメンバーは、 PR_CONTROL_ID (PidTagControlId) の列の対応する行の値に設定します。The ulTableEvent member is set to TABLE_ROW_MODIFIED and the propIndex member is set to the value of the PR_CONTROL_ID (PidTagControlId) column in the corresponding row. MAPI は、コントロールに表示されるプロパティのIMAPIProp::GetPropsメソッドを呼び出すことによって、新しい値を表示することで、通知に応答します。MAPI responds to the notification by calling the IMAPIProp::GetProps method for the property displayed in the control and by displaying the new value.

テーブルの通知を表示] ダイアログ ボックスに関連するコントロールへの変更を調整するためサービス ・ プロバイダーが使用できます。Display table notifications can be used by a service provider to coordinate changes to related controls on the dialog box. [] ダイアログ ボックスの 1 つまたは複数のフィールドを更新するのには、プロパティのインターフェイスの実装が必要な場合など、- PR_CONTROL_FLAGS (PidTagControlFlags) プロパティに DT_SET_IMMEDIATE フラグを設定するには別のコントロールへの応答ではおそらく、テーブルの通知を表示を生成できます。For example, if the property interface implementation needs to refresh one or more fields on the dialog box — perhaps in response to another control that has set the DT_SET_IMMEDIATE flag in its PR_CONTROL_FLAGS (PidTagControlFlags) property — it can generate a display table notification. テーブルの通知を表示には、1 つまたは複数のコントロールの値を変更するために再読み込みする必要があるプロパティのインターフェイスの実装や、外部イベントの発生を警告できます。A display table notification can alert the property interface implementation that the value of one or more controls needs to be reread due to a change being made or an external event occurring.

サービス プロバイダーは、表示テーブルの通知を発行できます。A service provider can issue display table notifications by:

  • 表示テーブルがテーブルのデータ オブジェクトを使用してビルドされている場合は、 ITableData::HrNotifyを呼び出しています。Calling ITableData::HrNotify, if the display table was built with a table data object.

    • または、Or -
  • IMAPITableプロバイダーに表示された表を作成した場合は、独自のコードを使用しています。Using its own code, if the display table was built with the provider's IMAPITable implementation.

MAPI は、プロパティのインターフェイスの実装からのコントロールの値を再読み取りが必要な場合に通知を表を表示するのに応答します。MAPI responds to display table notifications when necessary by rereading a control's value from the property interface implementation. 次の表では、MAPI がコントロールの特定の種類の通知を処理する方法に関する詳細について説明します。The following table describes the details surrounding how MAPI handles notifications for specific types of controls.

ControlControl MAPI 操作MAPI action
ボタンButton
呼び出しが以前に失敗した場合に、 ulPRControlDTBLBUTTON構造体のメンバーによって表されるプロパティを使用してコントロール オブジェクトを取得するためにIMAPIProp::OpenPropertyを呼び出します。Calls IMAPIProp::OpenPropertyto retrieve the control object by way of the property represented by the ulPRControl member of the DTBLBUTTON structure if the call had failed previously. かを判断、ボタンを有効にしてにより、それに応じて、ボタンを無効にするのには、コントロール オブジェクトのIMAPIControl::GetStateを呼び出します。Calls the control object's IMAPIControl::GetState to determine whether the button should be enabled and enables or disables the button accordingly.
チェック ボックスCheck box
UlPRPropertyNameメンバーの値を再読み込みします。Rereads the value for the ulPRPropertyName member.
コンボ ボックスCombo box
UlPRTableNameDTBLCOMBOBOX構造体のメンバーに関連付けられているテーブルを再度開きます。Reopens the table associated with the ulPRTableName member of the DTBLCOMBOBOX structure. すべてのulPRPropertyNameメンバーの値を含む行を再読み込みします。Rereads all of the rows including the value for the ulPRPropertyNamemember.
ドロップダウン リスト ボックスDrop-down list box
UlPRTableNameDTBLDDLBX構造体のメンバーに関連付けられているテーブルを再度開き、すべての行を再読み込みします。Reopens the table associated with the ulPRTableName member of the DTBLDDLBX structure and rereads all of the rows. UlPRDisplayPropertyulPRSetPropertyのメンバーに格納されているプロパティの値を取得するためにIMAPIProp::GetPropsを呼び出します。Calls IMAPIProp::GetProps to retrieve the values for the properties stored in the ulPRDisplayProperty and the ulPRSetProperty members.
編集Edit
プロパティを再読み込みし、再表示します。Rereads the property and redisplays.
グループ ボックスGroup box
通知を無視します。Ignores the notification.
ラベルLabel
通知を無視します。Ignores the notification.
複数選択リスト ボックスMultiple selection list box
エントリ識別子列のいずれかの場合は、リスト ボックスを更新します。If one of the columns is an entry identifier, refreshes the list box. 対応するオブジェクトがクローズまたは再読み込みされません。The corresponding object is not closed or reloaded.
単一選択リスト ボックスSingle selection list box
識別しようとして、セットのプロパティを読み取ります。Reads the set property, trying to identify it.
複数値を持つリスト ボックスMultivalued list box
プロパティを再読み込みし、リスト ボックスを再設定します。Rereads the property and repopulates the list box.
タブ付きページTabbed page
このコントロールでの通知はありません。すべてが静的です。There are no notifications for this control; everything is static.
ラジオ ボタンRadio button
ボタンに関連付けられていると、 ulPropTagDTBLRADIOBUTTON構造体のメンバーに格納されて、コントロールの適切な選択では、プロパティを再読み込みします。Rereads the property that is associated with the button and is stored in the ulPropTag member of the DTBLRADIOBUTTON structure and makes the appropriate selection with the controls.

関連項目See also