Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Outlook 2013 | Outlook 2016
Aus Sicht des Benutzers ist ein Formular in der Regel ein Eigenschaftenblatt für eine Nachricht oder ein Dateneingabeformular, mit dem Benutzer strukturierte Informationen eingeben können. Es kann sich jedoch um eine beliebige Benutzeroberfläche handeln, die einer Nachrichtenklasse zugeordnet ist. Aus sicht eines Programmierers besteht ein Formular aus:
Ein Typ von MAPI-Nachricht mit eigener Nachrichtenklasse und OLE-Id.
Die ausführbare Datei, die den Formularserver implementiert.
Eine Sammlung von MAPI-Eigenschaften , die vom Formularserver verwendet werden – benutzerdefinierte oder anderweitig. Einige oder alle davon sind möglicherweise für Messagingclients zur Verwendung verfügbar.
Die Konfigurationsdatei, die das Formular beschreibt und vom Formular-Manager verwendet wird.
Da Formulare IMessage-Objekte sind, weisen sie Eigenschaften und Verhalten auf, die mit MAPI-Nachrichtenobjekten konsistent sind. Da Formulare jedoch über benutzerdefinierte Eigenschaften, Steuerelemente und ein anwendungsspezifisches Anzeigerendering verfügen können, sind die MAPI-Schnittstellen, die formulare verwenden, generisch genug, um jede Art von Schnittstelle zu ermöglichen, die benötigt wird. Die tatsächliche Definition eines Formulars wird in einer Formularbibliothek gespeichert, die weiter unten in diesem Abschnitt erläutert wird.
Hinweis
Genauer gesagt sind alle Nachrichten Instanzen von MAPI-Formularen. Es ist jedoch in der Regel einfacher, sich benutzerdefinierte Formulare als Sonderfälle von Nachrichten zu vorstellen, da Formulare zum Verfassen und Lesen typischer E-Mail-Nachrichten die am häufigsten verwendeten Formulare sind. Die Tatsache, dass alle Nachrichten eigentlich nur Formulare sind, gibt benutzerdefinierten Formularen die gleichen status wie jede andere Nachricht im MAPI-System.
Jedes Formular verfügt über einen Satz von Eigenschaften, von denen einige auf der Benutzeroberfläche des Formulars sichtbar sind. In der Regel werden Eigenschaften mit Feldern in der Benutzeroberfläche des Formulars abgeglichen. Beispielsweise kann ein Bestellformular die Felder Artikel, Beschreibung, Preis, Steuer und Teilergebnis enthalten. Diese Felder sind einfach visuelle Renderings von Formulareigenschaften mit denselben Namen. Clients ermitteln mithilfe der IMAPIFormInfo::CalcFormPropSet-Methode , die vom MAPI-Formular-Manager implementiert wird, welche Eigenschaften von einer bestimmten Nachrichtenklasse unterstützt werden.
Wie einfache Nachrichten können MAPI-Formulare alle Standardnachrichteneigenschaften enthalten, z. B. den Absender, den beabsichtigten Empfänger und den Zeitpunkt, zu dem die Nachricht gesendet wurde. Formulare können auch eine beliebige Anzahl von benutzerdefinierten Eigenschaften enthalten, die für das Formular spezifisch sind. Beispielsweise kann ein Formular "Fehlerbericht" benutzerdefinierte Eigenschaften für Fehlertyp, Fehlerschweregrad und Produktversion enthalten.
Um ein Formular zu erstellen, müssen Sie einen Formularserver implementieren. Der Formularserver ist die ausführbare Datei, die geladen wird, wenn ein Messagingclient eine Meldung anzeigen muss, die dem vom Formularserver unterstützten Typ entspricht. Der Formularserver wiederum erstellt nach Bedarf Formularobjekte, um bestimmte Meldungen anzuzeigen und Benutzerinteraktionen mit diesen Nachrichten zu verarbeiten.
Jedem Formularserver ist eine Konfigurationsdatei zugeordnet. Diese Datei enthält Informationen, die den Formularserver zum Nutzen des Formular-Managers beschreiben. Der Formular-Manager verwendet diese Informationen beim Installieren des Formularservers in einer Formularbibliothek.
Ausführliche Informationen zum Erstellen der Teile eines Formulars finden Sie unter Entwickeln von MAPI-Formularservern.
Formularserver entsprechen dem Component Object Model (COM). Formularserver werden als eigenständige ausführbare Dateien und nicht als In-Proc-Server ausgeführt. Weitere Informationen finden Sie im Abschnitt COM- und ActiveX-Objektdienste im Windows SDK.
Ein eindeutiger Klassenbezeichner (CLSID) identifiziert jeden Formularserver. Es gibt immer eine 1:1-Zuordnung zwischen einem Klassenbezeichner und seiner Nachrichtenklasse. Dies bedeutet jedoch nicht, dass ein Formularserver nur mit Nachrichten einer Nachrichtenklasse arbeiten kann. Wenn kein Formularserver zum Warten einer Nachricht einer bestimmten Klasse verfügbar ist, sollte der verwendete Formular-Manager versuchen, einen Formularserver für eine Höhere Nachrichtenklasse in der Nachrichtenklassenhierarchie zu finden. Der Standardformular-Manager, der mit dem Windows SDK bereitgestellt wird, führt dies aus. Ein solcher Formularserver kann wahrscheinlich nur eine Teilmenge der Eigenschaften der Nachricht (die von der Superklasse unterstützten) rendern, aber es ist besser als nichts. Was passiert, wenn überhaupt kein übereinstimmende Formularserver gefunden wird, ist ein Implementierungsdetail, das für den verwendeten Formular-Manager spezifisch ist. Der Standardformular-Manager öffnet in diesem Fall keine Nachrichten.
Weitere Informationen finden Sie unter MAPI-Nachrichtenklassen.