다음을 통해 공유


MFC ActiveX 컨트롤: 스톡 메서드 추가

스톡 메서드는 이미 COleControl 클래스에서 구현된다는 점에서 사용자 지정 메서드와 다릅니다. 예를 들어, COleControl에는 컨트롤에 대한 Refresh 메서드를 지원하는 미리 정의된 멤버 함수가 포함됩니다. 이 스톡 메서드의 디스패치 맵 항목은 DISP_STOCKFUNC_REFRESH입니다.

Important

ActiveX는 새로운 개발에 사용하지 않아야 하는 레거시 기술입니다. ActiveX를 대체하는 최신 기술에 관한 자세한 내용은 ActiveX 컨트롤을 참조하세요.

COleControl은 두 가지 스톡 메서드인 DoClick 및 Refresh를 지원합니다. 컨트롤 사용자는 Refresh를 호출하여 컨트롤의 모양을 즉시 업데이트합니다. DoClick을 호출하여 컨트롤의 Click 이벤트를 발생시킵니다.

메서드 디스패치 맵 항목 설명
DoClick DISP_STOCKPROP_DOCLICK( ) Click 이벤트를 발생시킵니다.
Refresh DISP_STOCKPROP_REFRESH( ) 컨트롤의 모양을 즉시 업데이트합니다.

메서드 추가 마법사를 사용하여 스톡 메서드 추가

메서드 추가 마법사를 사용하여 스톡 메서드를 간단히 추가할 수 있습니다. 다음 절차에서는 MFC ActiveX 컨트롤 마법사를 사용하여 만든 컨트롤에 Refresh 메서드를 추가하는 방법을 보여 줍니다.

메서드 추가 마법사를 사용하여 스톡 Refresh 메서드를 추가하려면

  1. 컨트롤의 프로젝트를 로드합니다.

  2. 클래스 뷰에서 컨트롤의 라이브러리 노드를 확장합니다.

  3. 컨트롤의 인터페이스 노드(라이브러리 노드의 두 번째 노드)를 마우스 오른쪽 단추로 클릭하여 바로 가기 메뉴를 엽니다.

  4. 바로 가기 메뉴에서 추가를 클릭한 다음, 메서드 추가를 클릭합니다.

    그러면 메서드 추가 마법사가 열립니다.

  5. 메서드 이름 상자에서 Refresh를 클릭합니다.

  6. Finish를 클릭합니다.

스톡 메서드에 대한 메서드 추가 마법사 변경 내용

스톡 Refresh 메서드는 컨트롤의 기본 클래스에서 지원되기 때문에 메서드 추가 마법사는 어떤 식으로든 컨트롤의 클래스 선언을 변경하지 않습니다. 컨트롤의 디스패치 맵과 해당 .IDL 파일에 메서드의 항목을 추가합니다. 다음 줄은 해당 구현(.CPP) 파일에 있는 컨트롤의 디스패치 맵에 추가됩니다.

DISP_STOCKFUNC_REFRESH()

그러면 컨트롤 사용자가 Refresh 메서드를 사용할 수 있습니다.

다음 줄이 컨트롤의 .IDL 파일에 추가됩니다.

[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);

이 줄은 Refresh 메서드에 특정 ID 번호를 할당합니다.

참고 항목

MFC ActiveX 컨트롤