開啟專案特定的編輯器

如果專案所開啟的項目檔案內建繫結至該專案的特定編輯器,專案必須使用專案特定的編輯器來開啟檔案。 無法將檔案委派給 IDE 選取編輯器的機制。 例如,您可以使用此專案特定的編輯器選項來指定可辨識您專案唯一之檔案中資訊的特定點陣圖編輯器,而不是使用標準點陣圖編輯器。

IDE 會在判斷特定項目應該開啟檔案時呼叫 OpenItem 方法。 如需詳細資訊,請參閱使用 Open File 命令顯示檔案。 使用下列指導方針來實作 OpenItem 方法,讓您的專案使用專案特定的編輯器開啟檔案。

使用專案特定的編輯器實作 OpenItem 方法

  1. 呼叫 FindAndLockDocument 方法 (RDT_EditLock),以判斷檔案 (文件資料物件) 是否已經開啟。

    注意

    如需文件資料和文件檢視物件的詳細資訊,請參閱自訂編輯器中的文件資料和文件檢視

  2. 如果檔案已經開啟,請呼叫 IsDocumentOpen 方法並指定 grfIDO 參數的 IDO_ActivateIfOpen 值,以重新浮出檔案。

    如果檔案已經開啟,而且文件是由呼叫專案以外的專案所擁有,則會向使用者顯示警告,指出開啟的編輯器是來自另一個專案。 然後會顯示檔案視窗。

  3. 如果您的文字緩衝區 (文件資料物件) 已經開啟,而且您想要附加另一個檢視,則您必須負責連結該檢視。 從專案具現化檢視 (文件檢視物件) 的建議方法如下:

    1. SLocalRegistry 服務上呼叫 QueryService 以取得 ILocalRegistry2 介面的指標。

    2. 呼叫 CreateInstance 方法來建立文件檢視類別的執行個體。

  4. 呼叫 CreateDocumentWindow 方法,並指定您的文件檢視物件。

    這個方法會將文件檢視物件放在文件視窗中。

  5. InitNewLoad 方法執行適當的呼叫。

    此時,檢視應該已完整初始化,並準備好開啟。

  6. 呼叫 Show 方法來顯示並開啟檢視。