ATL 자습서 연결 지점에 대 한 지원을 어떻게 컨트롤을 만드는 방법을 보여 주는 이벤트 및 연결 point.nbsp;을 구현 하는 방법을 추가 하 ATL 연결 지점을 구현 하는 방법에 대해 설명 합니다 IConnectionPointImpl(&N)。
연결 지점을 구현 하려면 두 가지 방법이 있습니다.:
어느 경우이 든, 연결 지점 마법사 작업을 수행 하는 형식 라이브러리를 사용。
메모nbsp;??.Idl 파일을 다시 컴파일하고 하 고 컨트롤이 나 개체에 연결 지점을 추가 하는 절차를 수행 해야 합니다 dispinterface는 당신이 이미 연결 지점을 구현 하는 메서드를 추가할 때마다(&N)。
컨트롤이 나 개체에 연결 지점을 추가 하려면
라이브러리 DProjLib { importlib("stdole32.tlb"); importlib("stdole2.tlb");[ uuid(57BC50F0-780B-11d1-8C44-0060083E866C), helpstring ("버디 이벤트") ] dispinterface DBuddyEvents { 속성: 방법: };
Uuidgen.exe 또는 guidgen.exe 유틸리티를 사용 하 여 GUID를 생성。
coclass 친구 { [기본값] 인터페이스 IBuddy;[기본, 소스] dispinterface DBuddyEvents;}
.Idl 파일에 참조를 Circ ATL 샘플 예。
Computer.nbsp;에 모든 typelib의 목록에 표시 됩니다 하지 형식 라이브러리를 만든 경우 만 다른 typelib에 정확한 동일한 나가는 인터페이스를 구현 하려는 경우 연결 지점을 정의 하 이러한 다른 typelib 중 하나를 사용 해야 합니다.? Coclass의 기본 소스 인터페이스 없이 typelib를 구축 하는 경우 대화 상자 보고 형식 라이브러리에 적합 (소스) 인터페이스 없음 경고 메시지가 표시 됩니다(&N).
다른 개체의 형식 라이브러리에서 가져온 연결 지점을 구현 하려면
다음은 Circ 컨트롤에서 연결 지점을 사용 하는.idl 파일에서 예제。
[
uuid(38BBFD91-7575-11D1-8C3C-0060083E866C),
version(1.0),
helpstring ("16190 1.0 형식 라이브러리")
]
라이브러리 MY16190Lib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
importlib("D:\\ATL25\\samples\\circ\\circ.tlb"); / / ****이 줄 [추가
uuid(38BBFD9E-7575-11D1-8C3C-0060083E866C),
helpstring ("Atl16190Ctl 클래스")
]
coclass Atl16190Ctl
{
[기본값] 인터페이스 IAtl16190Ctl;
[기본, 소스] dispinterface _CircEvents; / / ****이 하나
};
}