COleControlContainer 클래스
ActiveX 컨트롤의 컨트롤 컨테이너 역할을 합니다.
구문
class COleControlContainer : public CCmdTarget
멤버
공용 생성자
속성 | 설명 |
---|---|
COleControlContainer::COleControlContainer | COleControlContainer 개체를 생성합니다. |
공용 메서드
공용 데이터 멤버
속성 | 설명 |
---|---|
COleControlContainer::m_crBack | 컨테이너의 배경색입니다. |
COleControlContainer::m_crFore | 컨테이너의 전경색입니다. |
COleControlContainer::m_listSitesOrWnds | 지원되는 컨트롤 사이트의 목록입니다. |
COleControlContainer::m_nWindowlessControls | 호스트된 창 없는 컨트롤의 수입니다. |
COleControlContainer::m_pOleFont | 사용자 지정 컨트롤 사이트의 OLE 글꼴에 대한 포인터입니다. |
COleControlContainer::m_pSiteCapture | 캡처 제어 사이트에 대한 포인터입니다. |
COleControlContainer::m_pSiteFocus | 현재 입력 포커스가 있는 컨트롤에 대한 포인터입니다. |
COleControlContainer::m_pSiteUIActive | 현재 현재 활성화된 컨트롤에 대한 포인터입니다. |
COleControlContainer::m_pWnd | 컨트롤 컨테이너를 구현하는 창에 대한 포인터입니다. |
COleControlContainer::m_siteMap | 사이트 맵입니다. |
설명
이 작업은 하나 이상의 ActiveX 컨트롤 사이트(구현됨)에 대한 지원을 제공하여 수행됩니다 COleControlSite
. COleControlContainer
IOleInPlaceFrame 및 IOleContainer 인터페이스를 완전히 구현하여 포함된 ActiveX 컨트롤이 현재 위치 항목으로 해당 자격을 충족할 수 있도록 합니다.
일반적으로 이 클래스는 하나 이상의 ActiveX 컨트롤에 대한 사용자 지정 사이트와 COleControlSite
함께 COccManager
사용자 지정 ActiveX 컨트롤 컨테이너를 구현하는 데 사용됩니다.
상속 계층 구조
COleControlContainer
요구 사항
헤더: afxocc.h
COleControlContainer::AttachControlSite
컨트롤 사이트를 만들고 연결하기 위해 프레임워크에서 호출됩니다.
virtual void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
void AttachControlSite(
CWnd* pWnd,
UINT nIDC = 0);
매개 변수
pWnd
CWnd
개체에 대한 포인터입니다.
nIDC
연결할 컨트롤의 ID입니다.
설명
이 프로세스를 사용자 지정하려면 이 함수를 재정의합니다.
참고 항목
MFC 라이브러리에 정적으로 연결하는 경우 이 함수의 첫 번째 형식을 사용합니다. MFC 라이브러리에 동적으로 연결하는 경우 두 번째 양식을 사용합니다.
COleControlContainer::BroadcastAmbientPropertyChange
모든 호스트된 컨트롤에 앰비언트 속성이 변경되었음을 알릴 수 있습니다.
virtual void BroadcastAmbientPropertyChange(DISPID dispid);
매개 변수
dispid
변경되는 앰비언트 속성의 디스패치 ID입니다.
설명
이 함수는 앰비언트 속성 값이 변경된 경우 프레임워크에서 호출됩니다. 이 동작을 사용자 지정하려면 이 함수를 재정의합니다.
COleControlContainer::CheckDlgButton
단추의 현재 상태를 수정합니다.
virtual void CheckDlgButton(
int nIDButton,
UINT nCheck);
매개 변수
nIDButton
수정할 단추의 ID입니다.
nCheck
단추의 상태를 지정합니다. 다음 중 하나일 수 있습니다.
BST_CHECKED 단추 상태를 선택하도록 설정합니다.
BST_INDETERMINATE 단추 상태를 회색으로 설정하여 확정되지 않은 상태를 나타냅니다. 단추에 BS_3STATE 또는 BS_AUTO3STATE 스타일이 있는 경우에만 이 값을 사용합니다.
BST_UNCHECKED 단추 상태를 지울 수 있도록 설정합니다.
COleControlContainer::CheckRadioButton
그룹에서 지정된 라디오 단추를 선택하고 그룹의 나머지 단추를 지웁니다.
virtual void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
매개 변수
nIDFirstButton
그룹의 첫 번째 라디오 단추 식별자를 지정합니다.
nIDLastButton
그룹의 마지막 라디오 단추 식별자를 지정합니다.
nIDCheckButton
확인할 라디오 단추의 식별자를 지정합니다.
COleControlContainer::COleControlContainer
COleControlContainer
개체를 생성합니다.
explicit COleControlContainer(CWnd* pWnd);
매개 변수
pWnd
컨트롤 컨테이너의 부모 창에 대한 포인터입니다.
설명
개체가 성공적으로 만들어지면 호출을 사용하여 사용자 지정 컨트롤 사이트를 추가합니다 AttachControlSite
.
COleControlContainer::CreateControl
지정된 개체가 호스트하는 ActiveX 컨트롤을 COleControlSite
만듭니다.
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
BOOL CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
UINT nID,
CFile* pPersist =NULL,
BOOL bStorage =FALSE,
BSTR bstrLicKey =NULL,
COleControlSite** ppNewSite =NULL);
매개 변수
pWndCtrl
컨트롤을 나타내는 창 개체에 대한 포인터입니다.
clsid
컨트롤의 고유 클래스 ID입니다.
lpszWindowName
컨트롤에 표시할 텍스트에 대한 포인터입니다. 컨트롤의 Caption 또는 Text 속성 값(있는 경우)을 설정합니다. NULL이면 컨트롤의 Caption 또는 Text 속성이 변경되지 않습니다.
dwStyle
Windows 스타일. 사용 가능한 스타일은 주의 섹션 아래에 나열됩니다 .
rect
컨트롤의 크기와 위치를 지정합니다. 개체 또는 RECT
구조체 CRect
일 수 있습니다.
nID
컨트롤의 자식 창 ID를 지정합니다.
pPersist
컨트롤의 CFile
영구 상태를 포함하는 포인터입니다. 기본값은 NULL로, 영구 스토리지에서 상태를 복원하지 않고 컨트롤이 자체를 초기화함을 나타냅니다. NULL이 아닌 경우 스트림 또는 스토리지 형식으로 컨트롤의 영구 데이터를 포함하는 파생 개체에 대한 포인터 CFile
여야 합니다. 이 데이터는 클라이언트의 이전 활성화에 저장되었을 수 있습니다. 다른 CFile
데이터를 포함할 수 있지만 호출 CreateControl
시 영구 데이터의 첫 번째 바이트로 설정된 읽기-쓰기 포인터가 있어야 합니다.
bStorage
pPersist의 데이터를 데이터로 IStorage
IStream
해석해야 하는지 여부를 나타냅니다. pPersist의 데이터가 스토리지인 경우 bStorage는 TRUE여야 합니다. pPersist의 데이터가 스트림인 경우 bStorage는 FALSE여야 합니다. 기본값은 FALSE입니다.
bstrLicKey
선택적 라이선스 키 데이터입니다. 이 데이터는 런타임 라이선스 키가 필요한 컨트롤을 만드는 데만 필요합니다. 컨트롤이 라이선스를 지원하는 경우 컨트롤을 만들 수 있도록 라이선스 키를 제공해야 합니다. 기본값은 NULL입니다.
ppNewSite
생성되는 컨트롤을 호스트할 기존 컨트롤 사이트에 대한 포인터입니다. 기본값은 새 컨트롤 사이트가 자동으로 만들어지고 새 컨트롤에 연결됨을 나타내는 NULL입니다.
ppt
컨트롤의 POINT
왼쪽 위 모퉁이를 포함하는 구조체에 대한 포인터입니다. 컨트롤의 크기는 psize 값에 따라 결정됩니다. ppt 및 psize 값은 컨트롤의 크기와 위치를 지정하는 선택적 방법입니다.
psize
컨트롤의 크기를 포함하는 구조체에 대한 포인터 SIZE
입니다. 왼쪽 위 모서리는 ppt 값 에 따라 결정됩니다. ppt 및 psize 값은 컨트롤의 크기와 위치를 지정하는 선택적 방법입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
Windows dwStyle 플래그의 하위 집합만 다음에서 CreateControl
지원됩니다.
WS_VISIBLE 처음에 표시되는 창을 만듭니다. 일반 창과 같이 컨트롤을 즉시 표시하려면 필수입니다.
WS_DISABLED 처음에 사용하지 않도록 설정된 창을 만듭니다. 사용하지 않도록 설정된 창은 사용자로부터 입력을 받을 수 없습니다. 컨트롤에 Enabled 속성이 있는 경우 설정할 수 있습니다.
WS_BORDER 얇은 테두리가 있는 창을 만듭니다. 컨트롤에 BorderStyle 속성이 있는 경우 설정할 수 있습니다.
WS_GROUP 컨트롤 그룹의 첫 번째 컨트롤을 지정합니다. 사용자는 방향 키를 사용하여 그룹의 한 컨트롤에서 다음 컨트롤로 키보드 포커스를 변경할 수 있습니다. 첫 번째 컨트롤 이후의 WS_GROUP 스타일로 정의된 모든 컨트롤은 동일한 그룹에 속합니다. WS_GROUP 스타일을 사용하는 다음 컨트롤은 그룹을 종료하고 다음 그룹을 시작합니다.
WS_TABSTOP 사용자가 TAB 키를 누를 때 키보드 포커스를 받을 수 있는 컨트롤을 지정합니다. TAB 키를 누르면 키보드 포커스가 WS_TABSTOP 스타일의 다음 컨트롤로 바뀝니다.
두 번째 오버로드를 사용하여 기본 크기 컨트롤을 만듭니다.
COleControlContainer::CreateOleFont
OLE 글꼴을 만듭니다.
void CreateOleFont(CFont* pFont);
매개 변수
pFont
컨트롤 컨테이너에서 사용할 글꼴에 대한 포인터입니다.
COleControlContainer::FindItem
지정된 항목을 호스트하는 사용자 지정 사이트를 찾습니다.
virtual COleControlSite* FindItem(UINT nID) const;
매개 변수
nID
찾을 항목의 식별자입니다.
Return Value
지정된 항목의 사용자 지정 사이트에 대한 포인터입니다.
COleControlContainer::FreezeAllEvents
컨테이너가 연결된 컨트롤 사이트의 이벤트를 무시하거나 수락할지 여부를 결정합니다.
void FreezeAllEvents(BOOL bFreeze);
매개 변수
bFreeze
이벤트가 처리될 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
참고 항목
컨트롤 컨테이너에서 요청하는 경우 이벤트 발생을 중지할 필요가 없습니다. 계속 실행할 수 있지만 모든 후속 이벤트는 컨트롤 컨테이너에서 무시됩니다.
COleControlContainer::GetAmbientProp
지정된 앰비언트 속성의 값을 검색합니다.
virtual BOOL GetAmbientProp(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvarResult);
매개 변수
pSite
앰비언트 속성을 검색할 컨트롤 사이트에 대한 포인터입니다.
dispid
원하는 앰비언트 속성의 디스패치 ID입니다.
pVarResult
앰비언트 속성 값에 대한 포인터입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
COleControlContainer::GetDlgItem
대화 상자 또는 다른 창에서 지정된 컨트롤 또는 자식 창에 대한 포인터를 검색합니다.
virtual CWnd* GetDlgItem(int nID) const;
virtual void GetDlgItem(
int nID,
HWND* phWnd) const;
매개 변수
nID
검색할 대화 상자 항목의 식별자입니다.
phWnd
지정된 대화 상자 항목의 창 개체 핸들에 대한 포인터입니다.
Return Value
대화 상자 항목의 창에 대한 포인터입니다.
COleControlContainer::GetDlgItemInt
지정된 컨트롤의 번역된 텍스트 값을 검색합니다.
virtual UINT GetDlgItemInt(
int nID,
BOOL* lpTrans,
BOOL bSigned) const;
매개 변수
nID
컨트롤의 식별자입니다.
lpTrans
함수 성공/실패 값을 받는 부울 변수에 대한 포인터입니다(TRUE는 성공을 나타내고 FALSE는 실패를 나타낸다).
bSigned
함수가 시작 부분에서 빼기 기호의 텍스트를 검사하고 부호 있는 정수 값을 찾을 경우 반환할지 여부를 지정합니다. bSigned 매개 변수가 TRUE이면 검색할 값이 부호 있는 정수 값이 되도록 지정하고 반환 값을 형식으로 int
캐스팅합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
Return Value
성공하면 lpTrans에서 가리키는 변수가 TRUE로 설정되고 반환 값은 컨트롤 텍스트의 변환된 값입니다.
함수가 실패하면 lpTrans가 가리키는 변수가 FALSE로 설정되고 반환 값은 0입니다. 0은 변환 가능한 값이므로 0의 반환 값은 그 자체로 실패를 나타내지 않습니다.
lpTrans가 NULL이면 함수는 성공 또는 실패에 대한 정보를 반환하지 않습니다.
설명
이 함수는 텍스트의 시작 부분에 있는 공백을 제거한 다음 소수 자릿수를 변환하여 검색된 텍스트를 변환합니다. 함수는 텍스트 끝에 도달하거나 숫자가 아닌 문자를 발견할 때 번역을 중지합니다.
이 함수는 변환된 값이 INT_MAX(부호 있는 숫자의 경우) 또는 UINT_MAX(부호 없는 숫자의 경우)보다 크면 0을 반환합니다.
COleControlContainer::GetDlgItemText
지정된 컨트롤의 텍스트를 검색합니다.
virtual int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
매개 변수
nID
컨트롤의 식별자입니다.
lpStr
컨트롤의 텍스트에 대한 포인터입니다.
nMaxCount
lpStr에서 가리키는 버퍼에 복사할 문자열의 최대 길이(문자)를 지정합니다. 문자열 길이가 제한을 초과하면 문자열이 잘립니다.
Return Value
함수가 성공하면 반환 값은 종료 null 문자를 포함하지 않고 버퍼에 복사된 문자 수를 지정합니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
COleControlContainer::HandleSetFocus
컨테이너가 WM_SETFOCUS 메시지를 처리하는지 여부를 확인합니다.
virtual BOOL HandleSetFocus();
Return Value
컨테이너가 WM_SETFOCUS 메시지를 처리하는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
COleControlContainer::HandleWindowlessMessage
창 없는 컨트롤에 대한 창 메시지를 처리합니다.
virtual BOOL HandleWindowlessMessage(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
매개 변수
message
Windows에서 제공하는 창 메시지의 식별자입니다.
wParam
메시지의 매개 변수입니다. Windows에서 제공합니다. 추가 메시지 관련 정보를 지정합니다. 이 매개 변수의 내용은 메시지 매개 변수의 값에 따라 달라집니다.
lParam
메시지의 매개 변수입니다. Windows에서 제공합니다. 추가 메시지 관련 정보를 지정합니다. 이 매개 변수의 내용은 메시지 매개 변수의 값에 따라 달라집니다.
plResult
Windows 결과 코드입니다. 메시지 처리 결과를 지정하고 보낸 메시지에 따라 달라집니다.
Return Value
성공하는 경우 0이 아니고, 그렇지 않으면 0입니다.
설명
이 함수를 재정의하여 창 없는 컨트롤 메시지의 처리를 사용자 지정합니다.
COleControlContainer::IsDlgButtonChecked
지정된 단추의 상태를 확인합니다.
virtual UINT IsDlgButtonChecked(int nIDButton) const;
매개 변수
nIDButton
단추 컨트롤의 식별자입니다.
Return Value
BS_AUTOCHECKBOX, BS_AUTORADIOBUTTON, BS_AUTO3STATE, BS_CHECKBOX, BS_RADIOBUTTON 또는 BS_3STATE 스타일로 만든 단추의 반환 값입니다. 다음 중 하나일 수 있습니다.
BST_CHECKED 단추가 선택되어 있습니다.
BST_INDETERMINATE 단추가 회색으로 표시되어 확정되지 않은 상태를 나타냅니다(단추에 BS_3STATE 또는 BS_AUTO3STATE 스타일이 있는 경우에만 적용됨).
BST_UNCHECKED 단추가 지워집니다.
설명
단추가 3개 상태 컨트롤인 경우 멤버 함수는 단추가 흐리게 표시되었는지, 선택되었는지 또는 둘 다 선택하지 않았는지를 결정합니다.
COleControlContainer::m_crBack
컨테이너의 배경색입니다.
COLORREF m_crBack;
COleControlContainer::m_crFore
컨테이너의 전경색입니다.
COLORREF m_crFore;
COleControlContainer::m_listSitesOrWnds
컨테이너에서 호스트하는 컨트롤 사이트의 목록입니다.
CTypedPtrList<CPtrList, COleControlSiteOrWnd*> m_listSitesOrWnds;
COleControlContainer::m_nWindowlessControls
컨트롤 컨테이너에서 호스트하는 창 없는 컨트롤의 수입니다.
int m_nWindowlessControls;
COleControlContainer::m_pOleFont
사용자 지정 컨트롤 사이트의 OLE 글꼴에 대한 포인터입니다.
LPFONTDISP m_pOleFont;
COleControlContainer::m_pSiteCapture
캡처 제어 사이트에 대한 포인터입니다.
COleControlSite* m_pSiteCapture;
COleControlContainer::m_pSiteFocus
현재 입력 포커스가 있는 컨트롤 사이트에 대한 포인터입니다.
COleControlSite* m_pSiteFocus;
COleControlContainer::m_pSiteUIActive
현재 위치로 활성화된 컨트롤 사이트에 대한 포인터입니다.
COleControlSite* m_pSiteUIActive;
COleControlContainer::m_pWnd
컨테이너와 연결된 창 개체에 대한 포인터입니다.
CWnd* m_pWnd;
COleControlContainer::m_siteMap
사이트 맵입니다.
CMapPtrToPtr m_siteMap;
COleControlContainer::OnPaint
WM_PAINT 요청을 처리하기 위해 프레임워크에서 호출됩니다.
virtual BOOL OnPaint(CDC* pDC);
매개 변수
pDC
컨테이너에서 사용하는 디바이스 컨텍스트에 대한 포인터입니다.
Return Value
메시지가 처리된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
그리기 프로세스를 사용자 지정하려면 이 함수를 재정의합니다.
COleControlContainer::OnUIActivate
pSite에서 가리키는 컨트롤 사이트가 현재 위치에서 활성화될 때 프레임워크에서 호출됩니다.
virtual void OnUIActivate(COleControlSite* pSite);
매개 변수
pSite
현재 위치로 활성화될 컨트롤 사이트에 대한 포인터입니다.
설명
현재 위치 활성화는 컨테이너의 주 메뉴가 현재 위치 복합 메뉴로 대체됨을 의미합니다.
COleControlContainer::OnUIDeactivate
pSite에서 가리키는 컨트롤 사이트가 비활성화될 때 프레임워크에서 호출됩니다.
virtual void OnUIDeactivate(COleControlSite* pSite);
매개 변수
pSite
비활성화될 컨트롤 사이트에 대한 포인터입니다.
설명
이 알림을 받으면 컨테이너는 사용자 인터페이스를 다시 설치하고 집중해야 합니다.
COleControlContainer::ScrollChildren
자식 창에서 스크롤 메시지를 받을 때 프레임워크에서 호출됩니다.
virtual void ScrollChildren(
int dx,
int dy);
매개 변수
dx
x축을 따라 스크롤하는 크기(픽셀)입니다.
dy
y축을 따라 스크롤하는 크기(픽셀)입니다.
COleControlContainer::SendDlgItemMessage
지정된 컨트롤에 메시지를 보냅니다.
virtual LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam,
LPARAM lParam);
매개 변수
nID
메시지를 받는 컨트롤의 식별자를 지정합니다.
message
보낼 메시지를 지정합니다.
wParam
추가 메시지 관련 정보를 지정합니다.
lParam
추가 메시지 관련 정보를 지정합니다.
COleControlContainer::SetDlgItemInt
대화 상자에서 컨트롤의 텍스트를 지정된 정수 값의 문자열 표현으로 설정합니다.
virtual void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned);
매개 변수
nID
컨트롤의 식별자입니다.
nValue
표시할 정수 값입니다.
bSigned
nValue 매개 변수의 서명 여부를 지정합니다. 이 매개 변수가 TRUE 이면 nValue 가 서명됩니다. 이 매개 변수가 TRUE이고 nValue 가 0보다 작으면 문자열의 첫 번째 숫자 앞에 빼기 기호가 배치됩니다. 이 매개 변수가 FALSE 이면 nValue 가 서명되지 않습니다.
COleControlContainer::SetDlgItemText
lpszString에 포함된 텍스트를 사용하여 지정된 컨트롤의 텍스트를 설정합니다.
virtual void SetDlgItemText(
int nID,
LPCTSTR lpszString);
매개 변수
nID
컨트롤의 식별자입니다.
lpszString
컨트롤의 텍스트에 대한 포인터입니다.