Freigeben über


Tabellen anzeigen

Gilt für: Outlook 2013 | Outlook 2016

In einer Anzeigetabelle wird beschrieben, wie ein bestimmter Typ von Dialogfeld angezeigt wird– ein Dialogfeld mit einer oder mehreren Eigenschaftenseiten im Registerkartenformat, die für das Anzeigen und möglicherweise Bearbeiten einer oder mehrerer Eigenschaften vorgesehen sind. Jeder Anzeigetabelle zugeordnet ist eine IMAPIProp: IUnknown-Schnittstellenimplementierung . Die IMAPIProp-Implementierung verwaltet die Eigenschaftendaten, die im Dialogfeld angezeigt werden.

Die Zeilen in einer Anzeigetabelle stellen die Steuerelemente oder Benutzeroberflächenobjekte dar, die im Dialogfeld angezeigt werden. MAPI definiert viele Arten von Steuerelementen, einige mit statischen Werten und andere mit dynamischen Werten, die ein Benutzer ändern kann. Die meisten Steuerelemente können Eigenschaften zugeordnet werden, die mit der IMAPIProp-Implementierung verwaltet werden. Wenn ein Benutzer den Wert eines änderbaren Steuerelements ändert, wird die entsprechende Eigenschaft aktualisiert.

Dienstanbieter implementieren Anzeigetabellen und die IMAPIProp-Schnittstelle . Das Erstellen einer Anzeigetabelle ähnelt dem Schreiben eines Programms mit einer Skriptsprache. Dienstanbieter können eine Anzeigetabelle wie folgt erstellen:

Die BuildDisplayTable-Funktion kombiniert Informationen aus Anzeigetabellenstrukturen mit visuellen Elementen aus einer Dialogfeldressource, um Anzeigetabellenzeilen zu erstellen. Die Funktion gibt einen Zeiger auf eine IMAPITable : IUnknown-Schnittstellenimplementierung und, falls angefordert, einen Zeiger auf eine ITableData-Schnittstellenimplementierung zurück.

Die Verwendung von BuildDisplayTable zum Erstellen einer Anzeigetabelle ist einfach und erleichtert die Wartung, wenn sich visuelle Elemente der Anzeige ändern. Dienstanbieter, die BuildDisplayTable nicht verwenden möchten, können jedoch eine Anzeigetabelle mit benutzerdefiniertem Code erstellen, der die Methoden von ITableData verwendet. Beispielsweise möchten Dienstanbieter, die über eine vorhandene Vorlagenstruktur für ihre Eigenschaftenseiten verfügen, möglicherweise benutzerdefinierten Code erstellen, anstatt BuildDisplayTable zu verwenden.

Es gibt eine Vielzahl von Möglichkeiten, wie Dienstanbieter die Eigenschaftenschnittstelle für ihre Anzeigetabelle implementieren können. Dies schließt ein:

Die Art der Implementierung hängt von den Merkmalen der anzuzeigenden Daten und dem zuständigen Dienstanbieter ab. Wenn beispielsweise eine implizite Beziehung zwischen den Daten in zwei Bearbeitungssteuerelementen besteht und eines der Steuerelemente sich ändert, muss die IMAPIProp-Implementierung den Wert des anderen Steuerelements entsprechend ändern.

Anzeigetabellen weisen die folgenden Eigenschaften im erforderlichen Spaltensatz auf:

Wert
PR_XPOS (PidTagXCoordinate)
PR_YPOS (PidTagYCoordinate)
PR_DELTAX (PidTagDeltaX)
PR_DELTAY (PidTagDeltaY)
PR_CONTROL_TYPE (PidTagControlType)
PR_CONTROL_FLAGS (PidTagControlFlags)
PR_CONTROL_STRUCTURE (PidTagControlStructure)
PR_CONTROL_ID (PidTagControlId)

PR_XPOS und PR_YPOS die X- und Y-Koordinaten der linken oberen Ecke des Steuerelements angeben. Die horizontalen Einheiten sind 1/4 der Breite der Dialogbasiseinheit; die vertikalen Einheiten sind 1/8 der Dialogbasishöheneinheit. Windows berechnet die aktuellen Dialogbasiseinheiten aus der Höhe und Breite der aktuellen Systemschriftart. Die Koordinaten sind relativ zum Ursprung des Eigenschaftenseitenbereichs. Die Größe von Eigenschaftenseiten ist auf ca. 200 x 180 Dialogeinheiten beschränkt.

PR_DELTAX und PR_DELTAY sind die Breite und Höhe des Steuerelements. Dies sind ULONG-Werte. Die Breiteneinheiten sind 1/4 der Breiteneinheit des Dialogs; die Höheneinheiten sind 1/8 der Dialogbasishöheneinheit. Die Koordinaten sind relativ zum Ursprung des Steuerelements.

Die anderen vier Eigenschaften beschreiben verschiedene Merkmale des Steuerelements. PR_CONTROL_TYPE gibt den Typ des Steuerelements an. MAPI definiert zwölf Typen von Steuerelementen, die jeweils einen anderen Satz von Attributen aufweisen. Diese Attribute werden in der Flags-Eigenschaft PR_CONTROL_FLAGS beschrieben. Beispiele für Attribute sind, ob ein Steuerelement bearbeitbar oder erforderlich ist.

Die Steuerelementstruktur enthält PR_CONTROL_STRUCTURE Informationen, die für den jeweiligen Steuerelementtyp relevant sind. Jeder Steuerelementtyp wird mit einer anderen Struktur beschrieben. Beispielsweise werden Bearbeitungssteuerelemente mit der DTBLEDIT-Struktur beschrieben. DTBLEDIT-Strukturen enthalten Member, die die Anzahl und bestimmte Zeichentypen auflisten, die im Steuerelement platziert werden können, sowie ein Eigenschaftentag, das die Eigenschaft identifiziert, deren Wert im Steuerelement angezeigt werden soll. PR_CONTROL_STRUCTURE wird als binäre Eigenschaft gespeichert.

Der Steuerelementbezeichner , PR_CONTROL_ID, identifiziert das Steuerelement eindeutig im Dialogfeld, das in der Anzeigetabelle beschrieben wird. PR_CONTROL_ID wird aus den Werten festgelegt, die in den LpbNotif - und cbNotif-Membern der DTCTL-Struktur platziert werden, die von BuildDisplayTable zum Erstellen der Anzeigetabelle verwendet wird. Da MAPI manchmal Anzeigetabellen kombiniert, sollte der Bezeichner in PR_CONTROL_ID immer eindeutig sein. In der Regel weisen Anbieter PR_CONTROL_ID eine GUID-Struktur zu, um deren Eindeutigkeit sicherzustellen. Die PR_CONTROL_ID-Eigenschaft ist in der TABLE_NOTIFICATION-Struktur enthalten, wenn eine Anzeigetabellenbenachrichtigung generiert wird.

Weitere Informationen zu Anzeigetabellen finden Sie unter Implementierung von Anzeigetabellen und Informationen zu Anzeigetabellenbenachrichtigungen.

Siehe auch

MAPI-Tabellen