How to: Öffnen projektspezifischer Editoren

Wenn eine Elementdatei, die von einem Projekt geöffnet wird, intrinsisch an den jeweiligen Editor für dieses Projekt gebunden ist, muss das Projekt die Datei mithilfe eines projektspezifischen Editors öffnen. Die Datei kann nicht an den IDE-Mechanismus zum Auswählen eines Editors delegiert werden. Anstatt beispielsweise einen Standardbitmap-Editor zu verwenden, können Sie diese projektspezifische Editor-Option verwenden, um einen bestimmten Bitmap-Editor anzugeben, der Informationen in der Datei erkennt, die für Ihr Projekt eindeutig sind.

Die IDE ruft die -Methode OpenItem auf, wenn sie bestimmt, dass eine Datei von einem bestimmten Projekt geöffnet werden soll. Weitere Informationen finden Sie unter Anzeigen von Dateien mithilfe des Befehls Datei öffnen. Verwenden Sie die folgenden Richtlinien, um die -Methode zu implementieren, damit Ihr Projekt eine Datei mithilfe eines OpenItem projektspezifischen Editors öffnet.

So implementieren Sie die OpenItem-Methode mit einem projektspezifischen Editor

  1. Rufen Sie die FindAndLockDocument -Methode ( ) auf, um RDT_EditLock zu bestimmen, ob die Datei (Dokumentdatenobjekt) bereits geöffnet ist.

    Hinweis

    Weitere Informationen zu Dokumentdaten und Dokumentansichtsobjekten finden Sie unter Dokumentdaten und Dokumentansicht in benutzerdefinierten Editoren.

  2. Wenn die Datei bereits geöffnet ist, erstellen Sie die Datei erneut, indem Sie die -Methode aufrufen und den Wert IDO_ActivateIfOpen IsDocumentOpen parameter grfIDO angeben.

    Wenn die Datei geöffnet ist und das Dokument einem anderen Projekt als dem aufrufenden Projekt gehört, wird dem Benutzer eine Warnung angezeigt, dass der geöffnete Editor von einem anderen Projekt ist. Das Dateifenster wird dann angezeigt.

  3. Wenn Ihr Textpuffer (Dokumentdatenobjekt) bereits geöffnet ist und Sie eine weitere Ansicht daran anfügen möchten, sind Sie für das Einfügen dieser Ansicht verantwortlich. Der empfohlene Ansatz zum Instanziieren einer Ansicht (Dokumentansichtsobjekt) aus dem Projekt lautet wie folgt:

    1. Rufen QueryService Sie für den Dienst SLocalRegistry auf, um einen Zeiger auf die Schnittstelle ILocalRegistry2 zu erhalten.

    2. Rufen Sie die CreateInstance -Methode auf, um eine Instanz der Dokumentansichtsklasse zu erstellen.

  4. Rufen Sie die CreateDocumentWindow -Methode auf, und geben Sie dabei ihr Dokumentansichtsobjekt an.

    Diese Methode zeigt das Dokumentansichtsobjekt in einem Dokumentfenster an.

  5. Führen Sie die entsprechenden Aufrufe der -Methode oder InitNew der -Methode Load aus.

    An diesem Punkt sollte die Sicht vollständig initialisiert und zum Öffnen bereit sein.

  6. Rufen Sie die Show -Methode auf, um die Ansicht ein- und zu öffnen.

Weitere Informationen