COccManager 클래스
COleControlContainer
및 COleControlSite
개체로 구현된 다양한 사용자 지정 컨트롤 사이트를 관리합니다.
구문
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
해제됩니다.
이 프로세스를 사용자 지정하려면 이 함수를 재정의합니다.