프로젝트별 편집기 열기
프로젝트에서 여는 항목 파일이 본질적으로 해당 프로젝트의 특정 편집기로 바인딩된 경우 프로젝트는 프로젝트별 편집기를 사용하여 파일을 열어야 합니다. 편집기를 선택하기 위한 IDE 메커니즘으로 파일을 위임할 수 없습니다. 예를 들어 표준 비트맵 편집기를 사용하는 대신 이 프로젝트별 편집기 옵션을 사용하여 프로젝트에 고유한 파일의 정보를 인식하는 특정 비트맵 편집기를 지정할 수 있습니다.
IDE는 특정 프로젝트에서 파일을 열어야 한다고 결정할 때 OpenItem 메서드를 호출합니다. 자세한 내용은 파일 열기 명령을 사용하여 파일 표시를 참조하세요. 다음 지침을 사용하여 프로젝트별 편집기를 사용하여 프로젝트가 파일을 열도록 OpenItem
메서드를 구현합니다.
프로젝트별 편집기를 사용하여 OpenItem 메서드를 구현하려면
FindAndLockDocument 메서드(
RDT_EditLock
)를 호출하여 파일(문서 데이터 개체)이 이미 열려 있는지 확인합니다.참고 항목
문서 데이터 및 문서 보기 개체에 대한 자세한 내용은 사용자 지정 편집기에서 문서 데이터 및 문서 보기를 참조하세요.
파일이 이미 열려 있는 경우 IsDocumentOpen 메서드를 호출하여
grfIDO
매개 변수에 대해 IDO_ActivateIfOpen 값을 지정하여 파일을 다시 표면화합니다.파일이 열려 있고 문서를 호출 프로젝트 이외의 프로젝트에서 소유하는 경우 열려 있는 편집기가 다른 프로젝트의 편집기라는 경고가 사용자에게 표시됩니다. 그런 다음, 파일 창이 표시됩니다.
텍스트 버퍼(문서 데이터 개체)가 이미 열려 있고 다른 보기를 연결하려는 경우 해당 보기를 연결해야 합니다. 프로젝트에서 뷰(문서 뷰 개체)를 인스턴스화하는 권장 방법은 다음과 같습니다.
SLocalRegistry 서비스에서
QueryService
를 호출하여 ILocalRegistry2 인터페이스에 대한 포인터를 가져옵니다.CreateInstance 메서드를 호출하여 문서 뷰 클래스의 인스턴스를 만듭니다.
문서 뷰 개체를 지정하여 CreateDocumentWindow 메서드를 호출합니다.
이 메서드는 문서 창에 문서 보기 개체를 사이트로 지정합니다.
InitNew 또는 Load 메서드에 대한 적절한 호출을 수행합니다.
이 시점에서 뷰를 완전히 초기화하고 열 준비가 되어야 합니다.
Show 메서드를 호출하여 보기를 표시하고 엽니다.