다음을 통해 공유


COccManager 클래스

COleControlContainerCOleControlSite 개체로 구현된 다양한 사용자 지정 컨트롤 사이트를 관리합니다.

구문

class COccManager : public CNoTrackObject

멤버

공용 메서드

이름 설명
COccManager::CreateContainer COleContainer 개체를 만듭니다.
COccManager::CreateDlgControls 연결된 개체에서 호스트하는 ActiveX 컨트롤을 COleContainer 만듭니다.
COccManager::CreateSite COleClientSite 개체를 만듭니다.
COccManager::GetDefBtnCode 기본 단추의 코드를 검색합니다.
COccManager::IsDialogMessage 대화 메시지의 대상을 결정합니다.
COccManager::IsLabelControl 지정된 컨트롤이 레이블 컨트롤인지 여부를 확인합니다.
COccManager::IsMatchingMnemonic 현재 니모닉이 지정된 컨트롤의 니모닉과 일치하는지 여부를 확인합니다.
COccManager::OnEvent 지정된 이벤트를 처리하려고 시도합니다.
COccManager::P ostCreateDialog 대화 상자를 만드는 동안 할당된 리소스를 해제합니다.
COccManager::P reCreateDialog ActiveX 컨트롤에 대한 대화 상자 템플릿을 처리합니다.
COccManager::SetDefaultButton 지정된 컨트롤의 기본 상태를 전환합니다.
COccManager::SplitDialogTemplate 지정된 대화 상자 템플릿의 공통 컨트롤과 기존 ActiveX 컨트롤을 구분합니다.

설명

기본 클래스 CNoTrackObject는 문서화되지 않은 기본 클래스입니다(AFXTLS에 있음). H). MFC 프레임워크에서 사용하도록 설계된 클래스는 메모리 누수 검색에서 CNoTrackObject 제외됩니다. 에서 직접 CNoTrackObject파생하는 것은 권장되지 않습니다.

상속 계층 구조

CNoTrackObject

COccManager

요구 사항

헤더: afxocc.h

COccManager::CreateContainer

컨트롤 컨테이너를 만들기 위해 프레임워크에서 호출됩니다.

virtual COleControlContainer* CreateContainer(CWnd* pWnd);

매개 변수

pWnd
사용자 지정 사이트 컨테이너와 연결된 창 개체에 대한 포인터입니다.

Return Value

새로 만든 컨테이너에 대한 포인터입니다. 그렇지 않으면 NULL입니다.

설명

사용자 지정 사이트를 만드는 방법에 대한 자세한 내용은 COleControlContainer::AttachControlSite를 참조하세요.

COccManager::CreateDlgControls

pOccDialogInfo 매개 변수로 지정된 ActiveX 컨트롤을 만들려면 이 함수를 호출합니다.

virtual BOOL CreateDlgControls(
    CWnd* pWndParent,
    LPCTSTR lpszResourceName,
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo);

virtual BOOL CreateDlgControls(
    CWnd* pWndParent,
    void* lpResource,
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo);

매개 변수

pWndParent
대화 상자 개체의 부모에 대한 포인터입니다.

lpszResourceName
만들 리소스의 이름입니다.

pOccDialogInfo
대화 상자 개체를 만드는 데 사용되는 대화 상자 템플릿에 대한 포인터입니다.

lpResource
리소스에 대한 포인터입니다.

Return Value

컨트롤이 성공적으로 만들어진 경우 0이 아닌 경우 그렇지 않으면 0입니다.

COccManager::CreateSite

pCtrlCont에서 가리키는 컨테이너에 의해 호스팅되는 제어 사이트를 만들기 위해 프레임워크에서 호출됩니다.

virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);

매개 변수

pCtrlCont
새 컨트롤 사이트를 호스팅하는 컨트롤 컨테이너에 대한 포인터입니다.

Return Value

새로 만든 컨트롤 사이트에 대한 포인터입니다.

설명

COleControlSite 파생 클래스를 사용하여 사용자 지정 컨트롤 사이트를 만들려면 이 함수를 재정의합니다.

각 컨트롤 컨테이너는 여러 사이트를 호스트할 수 있습니다. 에 대한 여러 호출을 사용하여 추가 사이트를 만듭니다 CreateSite.

COccManager::GetDefBtnCode

컨트롤이 기본 푸시 단추인지 확인하려면 이 함수를 호출합니다.

static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);

매개 변수

pWnd
단추 컨트롤을 포함하는 창 개체입니다.

Return Value

다음 값 중 하나:

  • DLGC_DEFPUSHBUTTON 컨트롤은 대화 상자의 기본 단추입니다.

  • DLGC_UNDEFPUSHBUTTON 컨트롤은 대화 상자의 기본 단추가 아닙니다.

  • 0 컨트롤은 단추가 아닙니다.

COccManager::IsDialogMessage

프레임워크에서 호출하여 지정된 대화 상자를 위한 메시지인지 여부를 확인하고 메시지인 경우 메시지를 처리합니다.

virtual BOOL IsDialogMessage(
    CWnd* pWndDlg,
    LPMSG lpMsg);

매개 변수

pWndDlg
메시지의 의도된 대상 대화 상자에 대한 포인터입니다.

lpMsg
검사 메시지를 포함하는 구조체에 대한 포인터 MSG 입니다.

Return Value

메시지가 처리되는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

기본 동작 IsDialogMessage 은 키보드 메시지를 검사 해당 대화 상자의 선택 항목으로 변환하는 것입니다. 예를 들어 TAB 키를 누르면 다음 컨트롤 또는 컨트롤 그룹을 선택합니다.

지정된 대화 상자로 전송된 메시지에 대한 사용자 지정 동작을 제공하도록 이 함수를 재정의합니다.

COccManager::IsLabelControl

지정된 컨트롤이 레이블 컨트롤인지 확인하려면 이 함수를 호출합니다.

static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);

매개 변수

pWnd
컨트롤이 포함된 창에 대한 포인터입니다.

Return Value

컨트롤이 레이블인 경우 0이 아닌 경우 그렇지 않으면 0

설명

레이블 컨트롤은 순서 지정의 다음 컨트롤에 대한 레이블처럼 작동하는 컨트롤입니다.

COccManager::IsMatchingMnemonic

이 함수를 호출하여 현재 니모닉이 컨트롤이 나타내는 니모닉과 일치하는지 확인합니다.

static BOOL AFX_CDECL IsMatchingMnemonic(
    CWnd* pWnd,
    LPMSG lpMsg);

static BOOL AFX_CDECL IsMatchingMnemonic(
    COleControlSiteOrWnd* pWnd,
    LPMSG lpMsg);

매개 변수

pWnd
컨트롤이 포함된 창에 대한 포인터입니다.

lpMsg
일치시킬 니모닉이 포함된 메시지에 대한 포인터입니다.

Return Value

니모닉이 컨트롤과 일치하는 경우 0이 아닌 경우 그렇지 않으면 0

설명

COccManager::OnEvent

프레임워크에서 지정된 이벤트를 처리하기 위해 호출됩니다.

virtual BOOL OnEvent(
    CCmdTarget* pCmdTarget,
    UINT idCtrl,
    AFX_EVENT* pEvent,
    AFX_CMDHANDLERINFO* pHandlerInfo);

매개 변수

pCmdTarget
이벤트를 처리하려는 개체에 대한 포인터 CCmdTarget 입니다.

idCtrl
컨트롤의 리소스 ID입니다.

pEvent
처리 중인 이벤트입니다.

pHandlerInfo
NULL OnEvent 이 아닌 경우 명령을 디스패치하는 대신 구조체의 AFX_CMDHANDLERINFO 멤버와 pmf 멤버를 채웁니다pTarget. 일반적으로 이 매개 변수는 NULL이어야 합니다.

Return Value

이벤트가 처리된 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

이 함수를 재정의하여 기본 이벤트 처리 프로세스를 사용자 지정합니다.

COccManager::P reCreateDialog

실제 대화 상자를 만들기 전에 ActiveX 컨트롤에 대한 대화 상자 템플릿을 처리하기 위해 프레임워크에서 호출됩니다.

virtual const DLGTEMPLATE* PreCreateDialog(
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo,
    const DLGTEMPLATE* pOrigTemplate);

매개 변수

pOccDialogInfo
_AFX_OCC_DIALOG_INFO 대화 상자 템플릿 및 대화 상자에서 호스트하는 ActiveX 컨트롤에 대한 정보를 포함하는 구조체입니다.

pOrigTemplate
대화 상자를 만드는 데 사용할 대화 상자 템플릿에 대한 포인터입니다.

Return Value

대화 상자를 만드는 데 사용되는 대화 상자 템플릿 구조에 대한 포인터입니다.

설명

기본 동작은 ActiveX 컨트롤이 있는지 확인하여 호출 SplitDialogTemplate한 다음 결과 대화 상자 템플릿을 반환합니다.

ActiveX 컨트롤을 호스팅하는 대화 상자를 만드는 프로세스를 사용자 지정하려면 이 함수를 재정의합니다.

COccManager::P ostCreateDialog

대화 상자 템플릿에 할당된 메모리를 해제하기 위해 프레임워크에서 호출됩니다.

virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);

매개 변수

pOccDialogInfo
_AFX_OCC_DIALOG_INFO 대화 상자 템플릿 및 대화 상자에서 호스트하는 ActiveX 컨트롤에 대한 정보를 포함하는 구조체입니다.

설명

이 메모리는 호출에 SplitDialogTemplate의해 할당되었으며 대화 상자의 호스트된 ActiveX 컨트롤에 사용되었습니다.

대화 상자 개체에서 사용하는 모든 리소스를 클린 프로세스를 사용자 지정하려면 이 함수를 재정의합니다.

COccManager::SetDefaultButton

이 함수를 호출하여 컨트롤을 기본 단추로 설정합니다.

static void AFX_CDECL SetDefaultButton(
    CWnd* pWnd,
    BOOL bDefault);

매개 변수

pWnd
컨트롤이 포함된 창에 대한 포인터입니다.

bDefault
컨트롤이 기본 단추가 되어야 하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

Return Value

성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.

설명

참고 항목

컨트롤에는 OLEMISC_ACTSLIKEBUTTON 상태 비트 집합이 있어야 합니다. OLEMISC 플래그에 대한 자세한 내용은 Windows SDK의 OLEMISC 항목을 참조하세요.

COccManager::SplitDialogTemplate

공통 대화 상자 컨트롤에서 ActiveX 컨트롤을 분할하기 위해 프레임워크에서 호출됩니다.

virtual DLGTEMPLATE* SplitDialogTemplate(
    const DLGTEMPLATE* pTemplate,
    DLGITEMTEMPLATE** ppOleDlgItems);

매개 변수

pTemplate
검사할 대화 상자 템플릿에 대한 포인터입니다.

ppOleDlgItems
ActiveX 컨트롤인 대화 상자 항목에 대한 포인터 목록입니다.

Return Value

비 ActiveX 컨트롤만 포함하는 대화 상자 템플릿 구조에 대한 포인터입니다. ActiveX 컨트롤이 없으면 NULL이 반환됩니다.

설명

ActiveX 컨트롤이 있으면 템플릿이 분석되고 비 ActiveX 컨트롤만 포함하는 새 템플릿이 만들어집니다. 이 프로세스 중에 찾은 ActiveX 컨트롤은 ppOleDlgItems에 추가됩니다.

템플릿에 ActiveX 컨트롤이 없으면 NULL이 반환 됩니다.

참고 항목

새 템플릿에 할당된 메모리는 함수에서 PostCreateDialog 해제됩니다.

이 프로세스를 사용자 지정하려면 이 함수를 재정의합니다.

참고 항목

계층 구조 차트
COleControlSite 클래스
COleControlContainer 클래스