Dialogfelder in OLE
Während ein Benutzer eine OLE-fähige Anwendung ausführt, gibt es Zeiten, in denen die Anwendung Informationen vom Benutzer benötigt, um den Vorgang auszuführen. Die MFC OLE-Klassen stellen Standarddialogfelder bereit, um die erforderlichen Informationen zu sammeln. In diesem Artikel werden die Aufgaben aufgeführt, die von den OLE-Dialogfeldern behandelt werden, sowie die Klassen, die zum Anzeigen dieser Dialogfelder erforderlich sind. Ausführliche Informationen zu OLE-Dialogfeldern und den Strukturen, die zum Anpassen ihres Verhaltens verwendet werden, finden Sie in der MFC-Referenz.
Häufig verwendete Dialogfelder
Objekt einfügen
In diesem Dialogfeld kann der Benutzer neu erstellte oder vorhandene Objekte in das Verbunddokument einfügen. Außerdem ermöglicht es dem Benutzer, das Element als Symbol anzuzeigen und die Befehlsschaltfläche "Symbol ändern" zu aktivieren. Zeigt dieses Dialogfeld an, wenn der Benutzer im Menü "Bearbeiten" die Option "Objekt einfügen" auswählt. Verwenden Sie die COleInsertDialog
Klasse, um dieses Dialogfeld anzuzeigen. Sie können keine MDI-Anwendung in sich selbst einfügen. Eine Anwendung, die ein Container/Server ist, kann nicht in sich selbst eingefügt werden, es sei denn, es handelt sich um eine SDI-Anwendung.
Inhalte einfügen
In diesem Dialogfeld kann der Benutzer das Format steuern, das beim Einfügen von Daten in ein zusammengesetztes Dokument verwendet wird. Der Benutzer kann das Format der Daten auswählen, ob die Daten eingebettet oder verknüpft werden sollen, und ob sie als Symbol angezeigt werden soll. Zeigt dieses Dialogfeld an, wenn der Benutzer im Menü "Bearbeiten" "Inhalte einfügen" auswählt. Verwenden Sie die COlePasteSpecialDialog
Klasse, um dieses Dialogfeld anzuzeigen.
Symbol ändern
In diesem Dialogfeld kann der Benutzer auswählen, welches Symbol angezeigt wird, um das verknüpfte oder eingebettete Element darzustellen. Zeigen Sie dieses Dialogfeld an, wenn der Benutzer im Menü "Bearbeiten" die Schaltfläche "Symbol ändern" auswählt oder in den Dialogfeldern "Inhalte einfügen" oder "Konvertieren" die Schaltfläche "Symbol ändern" auswählt. Zeigt es auch an, wenn der Benutzer das Dialogfeld "Objekt einfügen" öffnet und auf "Als Symbol anzeigen" auswäht. Verwenden Sie die COleChangeIconDialog
Klasse, um dieses Dialogfeld anzuzeigen.
Konvertieren
In diesem Dialogfeld kann der Benutzer den Typ eines eingebetteten oder verknüpften Elements ändern. Wenn Sie beispielsweise eine Metadatei in ein verbunddokument eingebettet haben und später eine andere Anwendung zum Ändern der eingebetteten Metadatei verwenden möchten, können Sie das Dialogfeld "Konvertieren" verwenden. Dieses Dialogfeld wird häufig angezeigt, indem sie im Menü "Bearbeiten" auf "Objekttyp" klicken und dann im Kaskadierungsmenü auf "Konvertieren" klicken. Verwenden Sie die COleConvertDialog
Klasse, um dieses Dialogfeld anzuzeigen. Führen Sie z. B. den MFC OLE-Beispiel-OCLIENT aus.
Bearbeiten von Links oder Aktualisieren von Links
Im Dialogfeld "Verknüpfungen bearbeiten" kann der Benutzer Informationen zur Quelle eines verknüpften Objekts ändern. Im Dialogfeld "Verknüpfungen aktualisieren" werden die Quellen aller verknüpften Elemente im aktuellen Dialogfeld überprüft und ggf. das Dialogfeld "Verknüpfungen bearbeiten" angezeigt. Zeigen Sie das Dialogfeld "Verknüpfungen bearbeiten" an, wenn der Benutzer im Menü "Bearbeiten" "Links" auswählt. Normalerweise wird das Dialogfeld "Verknüpfungen aktualisieren" angezeigt, wenn ein zusammengesetztes Dokument zum ersten Mal geöffnet wird. Verwenden Sie entweder die Klasse oder die COleLinksDialog
COleUpdateDialog
Klasse, je nachdem, welches Dialogfeld Sie anzeigen möchten.
Server beschäftigt oder Server reagiert nicht
Das Dialogfeld "Server beschäftigt" wird angezeigt, wenn der Benutzer versucht, ein Element zu aktivieren, und der Server kann die Anforderung derzeit nicht verarbeiten, normalerweise weil der Server von einem anderen Benutzer oder einer anderen Aufgabe verwendet wird. Das Dialogfeld "Server reagiert nicht" wird angezeigt, wenn der Server überhaupt nicht auf die Aktivierungsanforderung reagiert. Diese Dialogfelder werden anhand COleMessageFilter
einer Implementierung der OLE-Schnittstelle IMessageFilter
angezeigt, und der Benutzer kann entscheiden, ob die Aktivierungsanforderung erneut versucht werden soll. Verwenden Sie die COleBusyDialog
Klasse, um dieses Dialogfeld anzuzeigen.