Udostępnij za pośrednictwem


Otwieranie edytorów specyficznych dla projektu

Jeśli plik elementu otwierany przez projekt jest wewnętrznie powiązany z określonym edytorem tego projektu, projekt musi otworzyć plik przy użyciu edytora specyficznego dla projektu. Nie można delegować pliku do mechanizmu ide do wybierania edytora. Na przykład zamiast używać standardowego edytora map bitowych, możesz użyć tej opcji edytora specyficznego dla projektu, aby określić określony edytor map bitowych, który rozpoznaje informacje w pliku unikatowym dla projektu.

Środowisko IDE wywołuje metodę OpenItem , gdy określa, że plik powinien zostać otwarty przez określony projekt. Aby uzyskać więcej informacji, zobacz Wyświetlanie plików przy użyciu polecenia Otwórz plik. Skorzystaj z poniższych wskazówek, aby zaimplementować OpenItem metodę otwierania pliku przy użyciu edytora specyficznego dla projektu.

Aby zaimplementować metodę OpenItem za pomocą edytora specyficznego dla projektu

  1. Wywołaj metodę FindAndLockDocument (RDT_EditLock), aby określić, czy plik (obiekt danych dokumentu) jest już otwarty.

    Uwaga

    Aby uzyskać więcej informacji na temat danych dokumentów i obiektów widoku dokumentów, zobacz Dokument data and document view in custom editors (Dokumentowanie danych i widok dokumentów w edytorach niestandardowych).

  2. Jeśli plik jest już otwarty, zapoznaj się z plikiem, wywołując IsDocumentOpen metodę i określając wartość IDO_ActivateIfOpen dla parametru grfIDO .

    Jeśli plik jest otwarty, a dokument jest własnością projektu innego niż projekt wywołujący, zostanie wyświetlone ostrzeżenie dla użytkownika, że otwierany edytor pochodzi z innego projektu. Następnie zostanie wyświetlone okno pliku.

  3. Jeśli bufor tekstowy (obiekt danych dokumentu) jest już otwarty i chcesz dołączyć do niego inny widok, odpowiadasz za podłączanie tego widoku. Zalecane podejście do tworzenia wystąpienia widoku (obiektu widoku dokumentu) z projektu jest następujące:

    1. Wywołaj QueryService usługę, SLocalRegistry aby uzyskać wskaźnik do interfejsu ILocalRegistry2 .

    2. Wywołaj metodę , CreateInstance aby utworzyć wystąpienie klasy widoku dokumentu.

  4. Wywołaj metodę CreateDocumentWindow , określając obiekt widoku dokumentu.

    Ta metoda powoduje utworzenie witryny obiektu widoku dokumentu w oknie dokumentu.

  5. Wykonaj odpowiednie wywołania metody InitNew lub Load .

    W tym momencie widok powinien być w pełni zainicjowany i gotowy do otwarcia.

  6. Wywołaj metodę Show , aby wyświetlić i otworzyć widok.