CComControlBase 클래스
이 클래스는 ATL 컨트롤을 만들고 관리하기 위한 메서드를 제공합니다.
Important
이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.
구문
class ATL_NO_VTABLE CComControlBase
멤버
공용 Typedefs
속성 | 설명 |
---|---|
CComControlBase::AppearanceType | 주식 속성이 형식short 이 아닌 경우 m_nAppearance 재정의합니다. |
공용 생성자
속성 | 설명 |
---|---|
CComControlBase::CComControlBase | 생성자입니다. |
CComControlBase::~CComControlBase | 소멸자입니다. |
공용 메서드
이름 | 설명 |
---|---|
CComControlBase::ControlQueryInterface | 요청된 인터페이스에 대한 포인터를 검색합니다. |
CComControlBase::DoesVerbActivate | iVerb 매개 변수에서 사용하는 iVerb 매개 변수가 컨트롤의 사용자 인터페이스를 활성화하거나(iVerb이 OLEIVERB_UIACTIVATE 같음) 사용자가 컨트롤을 두 번 클릭하거나(iVerb이 OLEIVERB_PRIMARY 같음) 컨트롤을 표시하거나(iVerb이 OLEIVERB_SHOW 같음) 컨트롤을 활성화할 때 수행되는 작업을 정의하는지 확인합니다(iVerb은 OLEIVERB_INPLACEACTIVATE 같음).IOleObjectImpl::DoVerb |
CComControlBase::DoesVerbUIActivate | 컨트롤의 사용자 인터페이스가 IOleObjectImpl::DoVerb 활성화되고 TRUE를 반환하는 데 사용되는 iVerb 매개 변수가 있는지 확인합니다. |
CComControlBase::DoVerbProperties | 컨트롤의 속성 페이지를 표시합니다. |
CComControlBase::FireViewChange | 이 메서드를 호출하여 컨테이너에 컨트롤을 다시 그리도록 지시하거나 등록된 조언 싱크에 컨트롤의 보기가 변경되었음을 알립니다. |
CComControlBase::GetAmbientAppearance | 컨트롤의 현재 모양 설정인 DISPID_AMBIENT_APPEARANCE 검색합니다. 플랫의 경우 0, 3D의 경우 1입니다. |
CComControlBase::GetAmbientAutoClip | 컨테이너가 컨트롤 표시 영역의 자동 클리핑을 지원하는지 여부를 나타내는 플래그인 DISPID_AMBIENT_AUTOCLIP 검색합니다. |
CComControlBase::GetAmbientBackColor | 컨테이너에서 정의한 모든 컨트롤의 앰비언트 배경색인 DISPID_AMBIENT_BACKCOLOR 검색합니다. |
CComControlBase::GetAmbientCharSet | 컨테이너에서 정의한 모든 컨트롤에 대해 설정된 앰비언트 문자 집합인 DISPID_AMBIENT_CHARSET 검색합니다. |
CComControlBase::GetAmbientCodePage | 컨테이너에서 정의한 모든 컨트롤에 대해 설정된 앰비언트 문자 집합인 DISPID_AMBIENT_CODEPAGE 검색합니다. |
CComControlBase::GetAmbientDisplayAsDefault | 컨테이너가 이 사이트의 컨트롤을 기본 단추로 표시한 경우 TRUE인 플래그인 DISPID_AMBIENT_DISPLAYASDEFAULT 검색하므로 단추 컨트롤이 더 두꺼운 프레임으로 자신을 그려야 합니다. |
CComControlBase::GetAmbientDisplayName | 컨테이너가 컨트롤에 제공한 이름인 DISPID_AMBIENT_DISPLAYNAME 검색합니다. |
CComControlBase::GetAmbientFont | 컨테이너의 앰비언트 IFont 인터페이스에 대한 포인터를 검색합니다. |
CComControlBase::GetAmbientFontDisp | 컨테이너의 앰비언트 IFontDisp 디스패치 인터페이스에 대한 포인터를 검색합니다. |
CComControlBase::GetAmbientForeColor | 컨테이너에서 정의한 모든 컨트롤의 앰비언트 전경색인 DISPID_AMBIENT_FORECOLOR 검색합니다. |
CComControlBase::GetAmbientLocaleID | 컨테이너에서 사용하는 언어의 식별자인 DISPID_AMBIENT_LOCALEID 검색합니다. |
CComControlBase::GetAmbientMessageReflect | 컨테이너가 창 메시지(예: WM_DRAWITEM)를 이벤트로 수신할지 여부를 나타내는 플래그인 DISPID_AMBIENT_MESSAGEREFLECT 검색합니다. |
CComControlBase::GetAmbientPalette | 컨테이너의 HPALETTE에 액세스하는 데 사용되는 DISPID_AMBIENT_PALETTE 검색합니다. |
CComControlBase::GetAmbientProperty | ID로 지정된 컨테이너 속성을 검색합니다. |
CComControlBase::GetAmbientRightToLeft | 컨테이너에서 콘텐츠가 표시되는 방향인 DISPID_AMBIENT_RIGHTTOLEFT 검색합니다. |
CComControlBase::GetAmbientScaleUnits | 레이블 지정 표시를 위해 컨테이너의 앰비언트 단위(예: 인치 또는 센티미터)인 DISPID_AMBIENT_SCALEUNITS 검색합니다. |
CComControlBase::GetAmbientShowGrabHandles | 컨테이너가 활성 상태일 때 컨트롤이 자체적으로 잡기 핸들을 표시할 수 있는지 여부를 나타내는 플래그인 DISPID_AMBIENT_SHOWGRABHANDLES 검색합니다. |
CComControlBase::GetAmbientShowHatching | UI가 활성 상태일 때 컨테이너가 빗살 무늬 패턴으로 컨트롤을 표시할 수 있는지 여부를 나타내는 플래그인 DISPID_AMBIENT_SHOWHATCHING 검색합니다. |
CComControlBase::GetAmbientSupportsMnemonics | 컨테이너가 키보드 니모닉을 지원하는지 여부를 나타내는 플래그인 DISPID_AMBIENT_SUPPORTSMNEMONICS 검색합니다. |
CComControlBase::GetAmbientTextAlign | 컨테이너에서 선호하는 텍스트 맞춤인 DISPID_AMBIENT_TEXTALIGN 검색합니다. 일반 맞춤(숫자 오른쪽, 왼쪽 텍스트)의 경우 0, 왼쪽 맞춤의 경우 1, 가운데 맞춤의 경우 2, 오른쪽 맞춤의 경우 3을 검색합니다. |
CComControlBase::GetAmbientTopToBottom | 컨테이너에서 콘텐츠가 표시되는 방향인 DISPID_AMBIENT_TOPTOBOTTOM 검색합니다. |
CComControlBase::GetAmbientUIDead | 컨테이너가 컨트롤이 사용자 인터페이스 작업에 응답하도록 할지 여부를 나타내는 플래그인 DISPID_AMBIENT_UIDEAD 검색합니다. |
CComControlBase::GetAmbientUserMode | 컨테이너가 실행 모드(TRUE) 또는 디자인 모드(FALSE)인지 여부를 나타내는 플래그인 DISPID_AMBIENT_USERMODE 검색합니다. |
CComControlBase::GetDirty | 데이터 멤버 m_bRequiresSave 의 값을 반환합니다. |
CComControlBase::GetZoomInfo | 현재 위치 편집을 위해 활성화된 컨트롤에 대한 확대/축소 비율의 숫자 및 분모의 x 및 y 값을 검색합니다. |
CComControlBase::InPlaceActivate | 컨트롤이 비활성 상태에서 iVerb의 동사가 나타내는 상태로 전환되도록 합니다. |
CComControlBase::InternalGetSite | 식별된 인터페이스에 대한 포인터에 대한 컨트롤 사이트를 쿼리하려면 이 메서드를 호출합니다. |
CComControlBase::OnDraw | 컨트롤을 그리려면 이 메서드를 재정의합니다. |
CComControlBase::OnDrawAdvanced | 기본값 OnDrawAdvanced 은 그리기를 위해 정규화된 디바이스 컨텍스트를 준비한 다음 컨트롤 클래스의 OnDraw 메서드를 호출합니다. |
CComControlBase::OnKillFocus | 컨트롤이 현재 위치 활성 상태이고 유효한 컨트롤 사이트가 있는지 확인한 다음 컨트롤에 포커스가 손실되었음을 컨테이너에 알릴 수 있습니다. |
CComControlBase::OnMouseActivate | UI가 사용자 모드인지 확인한 다음 컨트롤을 활성화합니다. |
CComControlBase::OnPaint | 그리기 위해 컨테이너를 준비하고 컨트롤의 클라이언트 영역을 가져오고 컨트롤 클래스의 OnDraw 메서드를 호출합니다. |
CComControlBase::OnSetFocus | 컨트롤이 현재 위치 활성 상태이고 유효한 컨트롤 사이트가 있는지 확인한 다음 컨트롤이 포커스를 확보했음을 컨테이너에 알릴 수 있습니다. |
CComControlBase::PreTranslateAccelerator | 사용자 고유의 키보드 가속기 처리기를 제공하도록 이 메서드를 재정의합니다. |
CComControlBase::SendOnClose | 자문 소유자에게 등록된 모든 권고 싱크에 제어가 닫혔다는 것을 알 수 있습니다. |
CComControlBase::SendOnDataChange | 자문 소유자에게 등록된 모든 권고 싱크에 제어 데이터가 변경되었음을 알 수 있습니다. |
CComControlBase::SendOnRename | 컨트롤에 새로운 모니커가 있음을 자문 소유자에게 등록한 모든 자문 싱크에 알깁니다. |
CComControlBase::SendOnSave | 자문 소유자에게 등록된 모든 권고 싱크에 컨트롤이 저장되었음을 알 수 있습니다. |
CComControlBase::SendOnViewChange | 등록된 모든 권고 싱크에 컨트롤의 보기가 변경되었음을 알 수 있습니다. |
CComControlBase::SetControlFocus | 키보드 포커스를 컨트롤에서 설정하거나 제거합니다. |
CComControlBase::SetDirty | 데이터 멤버 m_bRequiresSave 를 bDirty의 값으로 설정합니다. |
공용 데이터 멤버
속성 | 설명 |
---|---|
CComControlBase::m_bAutoSize | 컨트롤이 다른 크기일 수 없음을 나타내는 플래그입니다. |
CComControlBase::m_bDrawFromNatural | 컨트롤 크기를 m_sizeNatural m_sizeExtent 설정해야 함을 CComControlBase::GetZoomInfo IDataObjectImpl::GetData 나타내는 플래그입니다. |
CComControlBase::m_bDrawGetDataInHimetric | 그리는 경우 픽셀이 아닌 HIMETRIC 단위를 사용해야 함을 IDataObjectImpl::GetData 나타내는 플래그입니다. |
CComControlBase::m_bInPlaceActive | 컨트롤이 현재 위치 활성 상태임을 나타내는 플래그입니다. |
CComControlBase::m_bInPlaceSiteEx | 컨테이너가 창 없는 컨트롤 및 깜박임 없는 컨트롤과 같은 인터페이스 및 OCX96 컨트롤 기능을 지원 IOleInPlaceSiteEx 함을 나타내는 플래그입니다. |
CComControlBase::m_bNegotiatedWnd | 컨트롤이 OCX96 컨트롤 기능(예: 깜박임 없는 컨트롤 및 창 없는 컨트롤)에 대한 지원에 대해 컨테이너와 협상했는지 여부와 컨트롤이 창이 없는지 여부를 나타내는 플래그입니다. |
CComControlBase::m_bRecomposeOnResize | 컨테이너가 컨트롤의 표시 크기를 변경할 때 컨트롤이 프레젠테이션을 다시 컴파일하려고 함을 나타내는 플래그입니다. |
CComControlBase::m_bRequiresSave | 컨트롤이 마지막으로 저장된 이후 변경되었음을 나타내는 플래그입니다. |
CComControlBase::m_bResizeNatural | 컨테이너가 컨트롤의 표시 크기를 변경할 때 컨트롤의 자연 익스텐트(크기가 조정되지 않은 실제 크기)의 크기를 조정하려고 함을 나타내는 플래그입니다. |
CComControlBase::m_bUIActive | 메뉴 및 도구 모음과 같은 컨트롤의 사용자 인터페이스가 활성 상태임을 나타내는 플래그입니다. |
CComControlBase::m_bUsingWindowRgn | 컨트롤이 컨테이너 제공 창 영역을 사용하고 있음을 나타내는 플래그입니다. |
CComControlBase::m_bWasOnceWindowless | 컨트롤이 창이 없음을 나타내는 플래그이지만, 이제 창이 없을 수도 있으며 그렇지 않을 수도 있습니다. |
CComControlBase::m_bWindowOnly | 컨테이너가 창 없는 컨트롤을 지원하는 경우에도 컨트롤을 창에 표시해야 함을 나타내는 플래그입니다. |
CComControlBase::m_bWndLess | 컨트롤이 창이 없음을 나타내는 플래그입니다. |
CComControlBase::m_hWndCD | 컨트롤과 연결된 창 핸들에 대한 참조를 포함합니다. |
CComControlBase::m_nFreezeEvents | 이벤트의 중간 해동(이벤트 수락)없이 컨테이너가 이벤트를 동결(이벤트 수락 거부)한 횟수입니다. |
CComControlBase::m_rcPos | 컨테이너의 좌표로 표현된 컨트롤의 픽셀 단위 위치입니다. |
CComControlBase::m_sizeExtent | 특정 디스플레이에 대한 HIMETRIC 단위의 컨트롤 범위(각 단위는 0.01mm)입니다. |
CComControlBase::m_sizeNatural | HIMETRIC 단위로 컨트롤의 실제 크기(각 단위는 0.01mm)입니다. |
CComControlBase::m_spAdviseSink | 컨테이너의 권고 연결(컨테이너의 IAdviseSink)에 대한 직접 포인터입니다. |
CComControlBase::m_spAmbientDispatch | CComDispatchDriver 포인터를 통해 컨테이너의 속성을 검색하고 설정할 수 있는 개체입니다IDispatch . |
CComControlBase::m_spClientSite | 컨테이너 내에서 컨트롤의 클라이언트 사이트에 대한 포인터입니다. |
CComControlBase::m_spDataAdviseHolder | 데이터 개체 간에 권고 연결을 유지하고 싱크를 조언하는 표준 수단을 제공합니다. |
CComControlBase::m_spInPlaceSite | 컨테이너의 IOleInPlaceSite, IOleInPlaceSiteEx 또는 IOleInPlaceSiteWindowless 인터페이스 포인터에 대한 포인터입니다. |
CComControlBase::m_spOleAdviseHolder | 권고 연결을 유지하는 방법의 표준 구현을 제공합니다. |
설명
이 클래스는 ATL 컨트롤을 만들고 관리하기 위한 메서드를 제공합니다. CComControl 클래스 는 .에서 CComControlBase
파생됩니다. ATL 컨트롤 마법사를 사용하여 표준 컨트롤 또는 DHTML 컨트롤을 만들 때 마법사는 자동으로 클래스를 CComControlBase
파생합니다.
컨트롤을 만드는 방법에 대한 자세한 내용은 ATL 자습서를 참조하세요. ATL 프로젝트 마법사에 대한 자세한 내용은 ATL 프로젝트 만들기 문서를 참조하세요.
요구 사항
헤더: atlctl.h
CComControlBase::AppearanceType
주식 속성이 형식short
이 아닌 경우 m_nAppearance
재정의합니다.
typedef short AppearanceType;
설명
ATL 컨트롤 마법사는 short 형식의 스톡 속성을 추가합니다 m_nAppearance
. 다른 데이터 형식을 사용하는 경우 재정 AppearanceType
의합니다.
CComControlBase::CComControlBase
생성자입니다.
CComControlBase(HWND& h);
매개 변수
시간
컨트롤과 연결된 창에 대한 핸들입니다.
설명
컨트롤 크기를 5080X5080 HIMETRIC 단위(2"X2")로 초기화하고 데이터 멤버 값을 NULL 또는 FALSE로 초기화합니다 CComControlBase
.
CComControlBase::~CComControlBase
소멸자입니다.
~CComControlBase();
설명
컨트롤이 창 ~CComControlBase
에 있으면 DestroyWindow를 호출하여 삭제합니다.
CComControlBase::ControlQueryInterface
요청된 인터페이스에 대한 포인터를 검색합니다.
virtual HRESULT ControlQueryInterface(const IID& iid,
void** ppv);
매개 변수
iid
요청되는 인터페이스의 GUID입니다.
ppv
iid로 식별되는 인터페이스 포인터에 대한 포인터이거나, 인터페이스를 찾을 수 없는 경우 NULL입니다.
설명
COM 맵 테이블의 인터페이스만 처리합니다.
예시
// Retrieve the control's IOleObject interface. Note interface
// is automatically released when pOleObject goes out of scope
CComPtr<IOleObject> pOleObject;
ControlQueryInterface(IID_IOleObject, (void**)&pOleObject);
CComControlBase::DoesVerbActivate
iVerb 매개 변수에서 사용하는 iVerb 매개 변수가 컨트롤의 사용자 인터페이스를 활성화하거나(iVerb이 OLEIVERB_UIACTIVATE 같음) 사용자가 컨트롤을 두 번 클릭하거나(iVerb이 OLEIVERB_PRIMARY 같음) 컨트롤을 표시하거나(iVerb이 OLEIVERB_SHOW 같음) 컨트롤을 활성화할 때 수행되는 작업을 정의하는지 확인합니다(iVerb은 OLEIVERB_INPLACEACTIVATE 같음).IOleObjectImpl::DoVerb
BOOL DoesVerbActivate(LONG iVerb);
매개 변수
iVerb
에서 수행할 작업을 나타내는 값입니다 DoVerb
.
Return Value
iVerb이 OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW 또는 OLEIVERB_INPLACEACTIVATE 같으면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
설명
이 메서드를 재정의하여 사용자 고유의 활성화 동사를 정의할 수 있습니다.
CComControlBase::DoesVerbUIActivate
컨트롤의 사용자 인터페이스가 IOleObjectImpl::DoVerb
활성화되고 TRUE를 반환하는 데 사용되는 iVerb 매개 변수가 있는지 확인합니다.
BOOL DoesVerbUIActivate(LONG iVerb);
매개 변수
iVerb
에서 수행할 작업을 나타내는 값입니다 DoVerb
.
Return Value
iVerb이 OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW 또는 OLEIVERB_INPLACEACTIVATE 같으면 TRUE를 반환합니다. 그렇지 않으면 메서드가 FALSE를 반환합니다.
CComControlBase::DoVerbProperties
컨트롤의 속성 페이지를 표시합니다.
HRESULT DoVerbProperties(LPCRECT /* prcPosRect */, HWND hwndParent);
매개 변수
prcPosRec
예약되었습니다.
hwndParent
컨트롤이 포함된 창의 핸들입니다.
Return Value
표준 HRESULT 값 중 하나입니다.
예시
// The following implementation of the WM_RBUTTONDOWN message handler
// will pop up the ActiveX Control's PropertyPages
LRESULT CMyComposite::OnRButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/,
LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
DoVerbProperties(NULL, ::GetActiveWindow());
return 0L;
}
MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)
CComControlBase::FireViewChange
이 메서드를 호출하여 컨테이너에 컨트롤을 다시 그리도록 지시하거나 등록된 조언 싱크에 컨트롤의 보기가 변경되었음을 알립니다.
HRESULT FireViewChange();
Return Value
표준 HRESULT 값 중 하나입니다.
설명
컨트롤이 활성 상태이면(컨트롤 클래스 데이터 멤버 CComControlBase::m_bInPlaceActive TRUE임) 전체 컨트롤을 다시 그릴 컨테이너에 알릴 수 있습니다. 컨트롤이 비활성 상태이면 컨트롤의 등록된 조언 싱크(컨트롤 클래스 데이터 멤버 CComControlBase::m_spAdviseSink를 통해)에 컨트롤의 보기가 변경되었음을 알릴 수 있습니다.
예시
STDMETHODIMP CMyControl::put_Shape(int newVal)
{
// store newVal in m_nShape user-defined member
m_nShape = newVal;
// notify container to redraw control
FireViewChange();
return S_OK;
}
CComControlBase::GetAmbientAppearance
컨트롤의 현재 모양 설정인 DISPID_AMBIENT_APPEARANCE 검색합니다. 플랫의 경우 0, 3D의 경우 1입니다.
HRESULT GetAmbientAppearance(short& nAppearance);
매개 변수
nAppearance
속성 DISPID_AMBIENT_APPEARANCE.
Return Value
표준 HRESULT 값 중 하나입니다.
예시
HRESULT OnDraw(ATL_DRAWINFO& di)
{
short nAppearance;
RECT& rc = *(RECT*)di.prcBounds;
// draw 3D border if AmbientAppearance is not supported or is set to 1
HRESULT hr = GetAmbientAppearance(nAppearance);
if (hr != S_OK || nAppearance==1)
{
DrawEdge(di.hdcDraw, &rc, EDGE_SUNKEN, BF_RECT);
}
else
{
Rectangle(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom);
}
SetTextAlign(di.hdcDraw, TA_CENTER|TA_BASELINE);
LPCTSTR pszText = _T("ATL 8.0 : MyControl");
// For security reasons, we recommend that you use the lstrlen function
// with caution. Here, we can guarantee that pszText is NULL terminated,
// and therefore it is safe to use this function.
TextOut(di.hdcDraw,
(rc.left + rc.right) / 2,
(rc.top + rc.bottom) / 2,
pszText,
lstrlen(pszText));
return S_OK;
}
CComControlBase::GetAmbientAutoClip
컨테이너가 컨트롤 표시 영역의 자동 클리핑을 지원하는지 여부를 나타내는 플래그인 DISPID_AMBIENT_AUTOCLIP 검색합니다.
HRESULT GetAmbientAutoClip(BOOL& bAutoClip);
매개 변수
bAutoClip
속성 DISPID_AMBIENT_AUTOCLIP.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientBackColor
컨테이너에서 정의한 모든 컨트롤의 앰비언트 배경색인 DISPID_AMBIENT_BACKCOLOR 검색합니다.
HRESULT GetAmbientBackColor(OLE_COLOR& BackColor);
매개 변수
BackColor
속성 DISPID_AMBIENT_BACKCOLOR.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientCharSet
컨테이너에서 정의한 모든 컨트롤에 대해 설정된 앰비언트 문자 집합인 DISPID_AMBIENT_CHARSET 검색합니다.
HRESULT GetAmbientCharSet(BSTR& bstrCharSet);
매개 변수
bstrCharSet
속성 DISPID_AMBIENT_CHARSET.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
CComControlBase::GetAmbientCodePage
컨테이너에서 정의한 모든 컨트롤의 앰비언트 코드 페이지인 DISPID_AMBIENT_CODEPAGE 검색합니다.
HRESULT GetAmbientCodePage(ULONG& ulCodePage);
매개 변수
ulCodePage
속성 DISPID_AMBIENT_CODEPAGE.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
CComControlBase::GetAmbientDisplayAsDefault
컨테이너가 이 사이트의 컨트롤을 기본 단추로 표시한 경우 TRUE인 플래그인 DISPID_AMBIENT_DISPLAYASDEFAULT 검색하므로 단추 컨트롤이 더 두꺼운 프레임으로 자신을 그려야 합니다.
HRESULT GetAmbientDisplayAsDefault(BOOL& bDisplayAsDefault);
매개 변수
bDisplayAsDefault
속성 DISPID_AMBIENT_DISPLAYASDEFAULT.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientDisplayName
컨테이너가 컨트롤에 제공한 이름인 DISPID_AMBIENT_DISPLAYNAME 검색합니다.
HRESULT GetAmbientDisplayName(BSTR& bstrDisplayName);
매개 변수
bstrDisplayName
속성 DISPID_AMBIENT_DISPLAYNAME.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientFont
컨테이너의 앰비언트 IFont
인터페이스에 대한 포인터를 검색합니다.
HRESULT GetAmbientFont(IFont** ppFont);
매개 변수
ppFont
컨테이너의 앰비언 트 IFont 인터페이스에 대한 포인터입니다.
Return Value
표준 HRESULT 값 중 하나입니다.
설명
속성이 NULL이면 포인터는 NULL입니다. 포인터가 NULL이 아니면 호출자가 포인터를 해제해야 합니다.
CComControlBase::GetAmbientFontDisp
컨테이너의 앰비언트 IFontDisp
디스패치 인터페이스에 대한 포인터를 검색합니다.
HRESULT GetAmbientFontDisp(IFontDisp** ppFont);
매개 변수
ppFont
컨테이너의 앰비언트 IFontDisp 디스패치 인터페이스에 대한 포인터입니다.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
설명
속성이 NULL이면 포인터는 NULL입니다. 포인터가 NULL이 아니면 호출자가 포인터를 해제해야 합니다.
CComControlBase::GetAmbientForeColor
컨테이너에서 정의한 모든 컨트롤의 앰비언트 전경색인 DISPID_AMBIENT_FORECOLOR 검색합니다.
HRESULT GetAmbientForeColor(OLE_COLOR& ForeColor);
매개 변수
ForeColor
속성 DISPID_AMBIENT_FORECOLOR.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientLocaleID
컨테이너에서 사용하는 언어의 식별자인 DISPID_AMBIENT_LOCALEID 검색합니다.
HRESULT GetAmbientLocaleID(LCID& lcid);
매개 변수
lcid
속성 DISPID_AMBIENT_LOCALEID.
Return Value
표준 HRESULT 값 중 하나입니다.
설명
컨트롤은 이 식별자를 사용하여 사용자 인터페이스를 다른 언어로 조정할 수 있습니다.
CComControlBase::GetAmbientMessageReflect
컨테이너가 이벤트와 같은 WM_DRAWITEM
창 메시지를 수신할지 여부를 나타내는 플래그인 DISPID_AMBIENT_MESSAGEREFLECT 검색합니다.
HRESULT GetAmbientMessageReflect(BOOL& bMessageReflect);
매개 변수
bMessageReflect
속성 DISPID_AMBIENT_MESSAGEREFLECT.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientPalette
컨테이너의 HPALETTE에 액세스하는 데 사용되는 DISPID_AMBIENT_PALETTE 검색합니다.
HRESULT GetAmbientPalette(HPALETTE& hPalette);
매개 변수
hPalette
속성 DISPID_AMBIENT_PALETTE.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientProperty
dispid에서 지정한 컨테이너 속성을 검색합니다.
HRESULT GetAmbientProperty(DISPID dispid, VARIANT& var);
매개 변수
dispid
검색할 컨테이너 속성의 식별자입니다.
var
속성을 받을 변수입니다.
Return Value
표준 HRESULT 값 중 하나입니다.
설명
ATL은 특정 속성(예 : CComControlBase::GetAmbientBackColor)을 검색하는 도우미 함수 집합을 제공했습니다. 사용할 수 있는 적절한 메서드가 없으면 .를 사용합니다 GetAmbientProperty
.
CComControlBase::GetAmbientRightToLeft
컨테이너에서 콘텐츠가 표시되는 방향인 DISPID_AMBIENT_RIGHTTOLEFT 검색합니다.
HRESULT GetAmbientRightToLeft(BOOL& bRightToLeft);
매개 변수
bRightToLeft
속성 DISPID_AMBIENT_RIGHTTOLEFT. 콘텐츠가 오른쪽에서 왼쪽으로 표시되면 TRUE로, 왼쪽에서 오른쪽으로 표시되면 FALSE로 설정합니다.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
CComControlBase::GetAmbientScaleUnits
레이블 지정 표시를 위해 컨테이너의 앰비언트 단위(예: 인치 또는 센티미터)인 DISPID_AMBIENT_SCALEUNITS 검색합니다.
HRESULT GetAmbientScaleUnits(BSTR& bstrScaleUnits);
매개 변수
bstrScaleUnits
속성 DISPID_AMBIENT_SCALEUNITS.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientShowGrabHandles
컨테이너가 활성 상태일 때 컨트롤이 자체적으로 잡기 핸들을 표시할 수 있는지 여부를 나타내는 플래그인 DISPID_AMBIENT_SHOWGRABHANDLES 검색합니다.
HRESULT GetAmbientShowGrabHandles(BOOL& bShowGrabHandles);
매개 변수
bShowGrabHandles
속성 DISPID_AMBIENT_SHOWGRABHANDLES.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientShowHatching
컨트롤의 사용자 인터페이스가 활성 상태일 때 컨테이너에서 빗살 무늬 패턴으로 컨트롤을 표시할 수 있는지 여부를 나타내는 플래그인 DISPID_AMBIENT_SHOWHATCHING 검색합니다.
HRESULT GetAmbientShowHatching(BOOL& bShowHatching);
매개 변수
bShowHatching
속성 DISPID_AMBIENT_SHOWHATCHING.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientSupportsMnemonics
컨테이너가 키보드 니모닉을 지원하는지 여부를 나타내는 플래그인 DISPID_AMBIENT_SUPPORTSMNEMONICS 검색합니다.
HRESULT GetAmbientSupportsMnemonics(BOOL& bSupportsMnemonics);
매개 변수
bSupportsMnemonics
속성 DISPID_AMBIENT_SUPPORTSMNEMONICS.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientTextAlign
컨테이너에서 선호하는 텍스트 맞춤인 DISPID_AMBIENT_TEXTALIGN 검색합니다. 일반 맞춤(숫자 오른쪽, 왼쪽 텍스트)의 경우 0, 왼쪽 맞춤의 경우 1, 가운데 맞춤의 경우 2, 오른쪽 맞춤의 경우 3을 검색합니다.
HRESULT GetAmbientTextAlign(short& nTextAlign);
매개 변수
nTextAlign
속성 DISPID_AMBIENT_TEXTALIGN.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetAmbientTopToBottom
컨테이너에서 콘텐츠가 표시되는 방향인 DISPID_AMBIENT_TOPTOBOTTOM 검색합니다.
HRESULT GetAmbientTopToBottom(BOOL& bTopToBottom);
매개 변수
bTopToBottom
속성 DISPID_AMBIENT_TOPTOBOTTOM. 텍스트가 위쪽에서 아래쪽으로 표시되면 TRUE로, 아래쪽에서 위쪽으로 표시되면 FALSE로 설정합니다.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
CComControlBase::GetAmbientUIDead
컨테이너가 컨트롤이 사용자 인터페이스 작업에 응답하도록 할지 여부를 나타내는 플래그인 DISPID_AMBIENT_UIDEAD 검색합니다.
HRESULT GetAmbientUIDead(BOOL& bUIDead);
매개 변수
bUIDead
속성 DISPID_AMBIENT_UIDEAD.
Return Value
표준 HRESULT 값 중 하나입니다.
설명
TRUE이면 컨트롤이 응답하지 않아야 합니다. 이 플래그는 DISPID_AMBIENT_USERMODE 플래그에 관계없이 적용됩니다. CComControlBase::GetAmbientUserMode를 참조하세요.
CComControlBase::GetAmbientUserMode
컨테이너가 실행 모드(TRUE) 또는 디자인 모드(FALSE)인지 여부를 나타내는 플래그인 DISPID_AMBIENT_USERMODE 검색합니다.
HRESULT GetAmbientUserMode(BOOL& bUserMode);
매개 변수
bUserMode
속성 DISPID_AMBIENT_USERMODE.
Return Value
표준 HRESULT 값 중 하나입니다.
CComControlBase::GetDirty
데이터 멤버 m_bRequiresSave
의 값을 반환합니다.
BOOL GetDirty();
Return Value
데이터 멤버 m_bRequiresSave 값을 반환합니다.
설명
이 값은 CComControlBase::SetDirty를 사용하여 설정됩니다.
CComControlBase::GetZoomInfo
현재 위치 편집을 위해 활성화된 컨트롤에 대한 확대/축소 비율의 숫자 및 분모의 x 및 y 값을 검색합니다.
void GetZoomInfo(ATL_DRAWINFO& di);
매개 변수
di
확대/축소 비율의 분자 및 분모를 보유할 구조체입니다. 자세한 내용은 ATL_DRAWINFO 참조하세요.
설명
확대/축소 비율은 컨트롤의 자연 크기에서 현재 범위까지의 비율입니다.
CComControlBase::InPlaceActivate
컨트롤이 비활성 상태에서 iVerb의 동사가 나타내는 상태로 전환되도록 합니다.
HRESULT InPlaceActivate(LONG iVerb, const RECT* prcPosRect = NULL);
매개 변수
iVerb
IOleObjectImpl::D oVerb에서 수행할 작업을 나타내는 값입니다.
prcPosRect
현재 위치 컨트롤의 위치에 대한 포인터입니다.
Return Value
표준 HRESULT 값 중 하나입니다.
설명
활성화하기 전에 이 메서드는 컨트롤에 클라이언트 사이트가 있는지 확인하고, 표시되는 컨트롤의 양을 확인하고, 부모 창에서 컨트롤의 위치를 가져옵니다. 컨트롤이 활성화된 후 이 메서드는 컨트롤의 사용자 인터페이스를 활성화하고 컨트롤을 표시하도록 컨테이너에 지시합니다.
또한 이 메서드는 IOleInPlaceSite
컨트롤에 대한 또는 IOleInPlaceSiteWindowless
IOleInPlaceSiteEx
인터페이스 포인터를 검색하여 컨트롤 클래스의 데이터 멤버 CComControlBase::m_spInPlaceSite 저장합니다. 컨트롤 클래스 데이터 멤버 CComControlBase::m_bInPlaceSiteEx, CComControlBase::m_bWndLess, CComControlBase::m_bWasOnceWindowless 및 CComControlBase::m_bNegotiatedWnd 적절하게 true로 설정됩니다.
CComControlBase::InternalGetSite
식별된 인터페이스에 대한 포인터에 대한 컨트롤 사이트를 쿼리하려면 이 메서드를 호출합니다.
HRESULT InternalGetSite(REFIID riid, void** ppUnkSite);
매개 변수
riid
ppUnkSite에서 반환되어야 하는 인터페이스 포인터의 IID입니다.
ppUnkSite
riid에서 요청된 인터페이스 포인터를 수신하는 포인터 변수의 주소입니다.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
설명
사이트에서 riid에서 요청된 인터페이스를 지원하는 경우 포인터는 ppUnkSite를 통해 반환됩니다. 그렇지 않으면 ppUnkSite 가 NULL로 설정됩니다.
CComControlBase::m_bAutoSize
컨트롤이 다른 크기일 수 없음을 나타내는 플래그입니다.
unsigned m_bAutoSize:1;
설명
이 플래그는 확인되며 IOleObjectImpl::SetExtent
TRUE이면 함수가 E_FAIL 반환합니다.
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
ATL 컨트롤 마법사의 스톡 속성 탭에서 자동 크기 옵션을 추가 하는 경우 마법사는이 데이터 멤버를 컨트롤 클래스에 자동으로 만들고, 속성에 대 한 put 및 get 메서드를 만들며, IPropertyNotifySink을 지원 합니다. 속성이 변경 될 때 컨테이너에 자동으로 알리려면입니다.
CComControlBase::m_bDrawFromNatural
컨트롤 크기를 m_sizeNatural
m_sizeExtent
설정해야 함을 CComControlBase::GetZoomInfo
IDataObjectImpl::GetData
나타내는 플래그입니다.
unsigned m_bDrawFromNatural:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bDrawGetDataInHimetric
그리는 경우 픽셀이 아닌 HIMETRIC 단위를 사용해야 함을 IDataObjectImpl::GetData
나타내는 플래그입니다.
unsigned m_bDrawGetDataInHimetric:1;
설명
각 논리적 HIMETRIC 단위는 0.01mm입니다.
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bInPlaceActive
컨트롤이 현재 위치 활성 상태임을 나타내는 플래그입니다.
unsigned m_bInPlaceActive:1;
설명
즉, 컨트롤이 표시되고 창(있는 경우)이 표시되지만 메뉴와 도구 모음이 활성화되지 않을 수 있습니다. 플래그는 m_bUIActive
메뉴와 같은 컨트롤의 사용자 인터페이스도 활성 상태임을 나타냅니다.
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bInPlaceSiteEx
컨테이너가 창 없는 컨트롤 및 깜박임 없는 컨트롤과 같은 인터페이스 및 OCX96 컨트롤 기능을 지원 IOleInPlaceSiteEx
함을 나타내는 플래그입니다.
unsigned m_bInPlaceSiteEx:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
데이터 멤버 m_spInPlaceSite
는 m_bWndLess
및 m_bInPlaceSiteEx
플래그의 값에 따라 IOleInPlaceSite, IOleInPlaceSiteEx 또는 IOleInPlaceSiteWindowless 인터페이스를 가리킵니다. 포인터가 유효하려면 데이터 멤버 m_bNegotiatedWnd
가 m_spInPlaceSite
TRUE여야 합니다.
FALSE이고 TRUE이면 m_bWndLess
인터페이스 포인터입니다IOleInPlaceSiteEx
. m_spInPlaceSite
m_bInPlaceSiteEx
이러한 세 데이터 멤버 간의 관계를 보여 주는 테이블은 m_spInPlaceSite 참조하세요.
CComControlBase::m_bNegotiatedWnd
컨트롤이 OCX96 컨트롤 기능(예: 깜박임 없는 컨트롤 및 창 없는 컨트롤)에 대한 지원에 대해 컨테이너와 협상했는지 여부와 컨트롤이 창이 없는지 여부를 나타내는 플래그입니다.
unsigned m_bNegotiatedWnd:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
포인터가 m_bNegotiatedWnd
유효하려면 플래그가 m_spInPlaceSite
TRUE여야 합니다.
CComControlBase::m_bRecomposeOnResize
컨테이너가 컨트롤의 표시 크기를 변경할 때 컨트롤이 프레젠테이션을 다시 컴파일하려고 함을 나타내는 플래그입니다.
unsigned m_bRecomposeOnResize:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
이 플래그는 IOleObjectImpl::SetExtent에서 확인되며 TRUE SetExtent
이면 뷰 변경 내용을 컨테이너에 알립니다. 이 플래그가 설정되면 OLEMISC 열거형의 OLEMISC_RECOMPOSEONRESIZE 비트도 설정해야 합니다.
CComControlBase::m_bRequiresSave
컨트롤이 마지막으로 저장된 이후 변경되었음을 나타내는 플래그입니다.
unsigned m_bRequiresSave:1;
설명
값 m_bRequiresSave
은 CComControlBase::SetDirty를 사용하여 설정하고 CComControlBase::GetDirty를 사용하여 검색할 수 있습니다.
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bResizeNatural
컨테이너가 컨트롤의 표시 크기를 변경할 때 컨트롤의 자연 익스텐트(크기가 조정되지 않은 실제 크기)의 크기를 조정하려고 함을 나타내는 플래그입니다.
unsigned m_bResizeNatural:1;
설명
이 플래그는 확인하여 IOleObjectImpl::SetExtent
TRUE이면 전달된 SetExtent
크기가 에 할당됩니다 m_sizeNatural
.
전달되는 SetExtent
크기는 값m_bResizeNatural
에 m_sizeExtent
관계없이 항상 할당됩니다.
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bUIActive
메뉴 및 도구 모음과 같은 컨트롤의 사용자 인터페이스가 활성 상태임을 나타내는 플래그입니다.
unsigned m_bUIActive:1;
설명
플래그는 m_bInPlaceActive
컨트롤이 활성 상태이지만 해당 사용자 인터페이스가 활성 상태임을 나타내지 않습니다.
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bUsingWindowRgn
컨트롤이 컨테이너 제공 창 영역을 사용하고 있음을 나타내는 플래그입니다.
unsigned m_bUsingWindowRgn:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bWasOnceWindowless
컨트롤이 창이 없음을 나타내는 플래그이지만, 이제 창이 없을 수도 있으며 그렇지 않을 수도 있습니다.
unsigned m_bWasOnceWindowless:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bWindowOnly
컨테이너가 창 없는 컨트롤을 지원하는 경우에도 컨트롤을 창에 표시해야 함을 나타내는 플래그입니다.
unsigned m_bWindowOnly:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_bWndLess
컨트롤이 창이 없음을 나타내는 플래그입니다.
unsigned m_bWndLess:1;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
데이터 멤버 m_spInPlaceSite
는 및 CComControlBase::m_bInPlaceSiteEx 플래그의 m_bWndLess
값에 따라 IOleInPlaceSite, IOleInPlaceSiteEx 또는 IOleInPlaceSiteWindowless 인터페이스를 가리킵니다. (데이터 멤버 CComControlBase::m_bNegotiatedWnd CComControlBase::m_spInPlaceSite 포인터가 유효하려면 TRUE여야 합니다.)
TRUE이면 m_bWndLess
인터페이스 포인터입니다IOleInPlaceSiteWindowless
. m_spInPlaceSite
이러한 데이터 멤버 간의 전체 관계를 보여 주는 테이블은 CComControlBase::m_spInPlaceSite 참조하세요.
CComControlBase::m_hWndCD
컨트롤과 연결된 창 핸들에 대한 참조를 포함합니다.
HWND& m_hWndCD;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_nFreezeEvents
이벤트의 중간 해동(이벤트 수락)없이 컨테이너가 이벤트를 동결(이벤트 수락 거부)한 횟수입니다.
short m_nFreezeEvents;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_rcPos
컨테이너의 좌표로 표현된 컨트롤의 픽셀 단위 위치입니다.
RECT m_rcPos;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_sizeExtent
특정 디스플레이에 대한 HIMETRIC 단위의 컨트롤 범위(각 단위는 0.01mm)입니다.
SIZE m_sizeExtent;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
이 크기는 디스플레이에 따라 조정됩니다. 컨트롤의 실제 크기는 데이터 멤버에 m_sizeNatural
지정되며 고정됩니다.
전역 함수 AtlHiMetricToPixel을 사용하여 크기를 픽셀로 변환할 수 있습니다.
CComControlBase::m_sizeNatural
HIMETRIC 단위로 컨트롤의 실제 크기(각 단위는 0.01mm)입니다.
SIZE m_sizeNatural;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
이 크기는 고정된 반면 크기 m_sizeExtent
는 디스플레이에 따라 크기가 조정됩니다.
전역 함수 AtlHiMetricToPixel을 사용하여 크기를 픽셀로 변환할 수 있습니다.
CComControlBase::m_spAdviseSink
컨테이너의 권고 연결(컨테이너의 IAdviseSink)에 대한 직접 포인터입니다.
CComPtr<IAdviseSink>
m_spAdviseSink;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_spAmbientDispatch
CComDispatchDriver
포인터를 통해 개체의 속성을 검색하고 설정할 수 있는 개체입니다IDispatch
.
CComDispatchDriver m_spAmbientDispatch;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_spClientSite
컨테이너 내에서 컨트롤의 클라이언트 사이트에 대한 포인터입니다.
CComPtr<IOleClientSite>
m_spClientSite;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
CComControlBase::m_spDataAdviseHolder
데이터 개체 간에 권고 연결을 유지하고 싱크를 조언하는 표준 수단을 제공합니다.
CComPtr<IDataAdviseHolder>
m_spDataAdviseHolder;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
데이터 개체는 데이터를 전송할 수 있고 IDataObject를 구현하는 컨트롤로, 메서드는 데이터의 형식 및 전송 매체를 지정합니다.
인터페이스 m_spDataAdviseHolder
는 IDataObject::D Advise 및 IDataObject::D나비즈 메서드를 구현하여 컨테이너에 대한 권고 연결을 설정하고 삭제합니다. 컨트롤의 컨테이너는 IAdviseSink 인터페이스를 지원하여 조언 싱크를 구현해야 합니다.
CComControlBase::m_spInPlaceSite
컨테이너의 IOleInPlaceSite, IOleInPlaceSiteEx 또는 IOleInPlaceSiteWindowless 인터페이스 포인터에 대한 포인터입니다.
CComPtr<IOleInPlaceSiteWindowless>
m_spInPlaceSite;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
포인터는 m_spInPlaceSite
m_bNegotiatedWnd 플래그가 TRUE인 경우에만 유효합니다.
다음 표에서는 포인터 형식이 m_spInPlaceSite
m_bWndLess 및 m_bInPlaceSiteEx 데이터 멤버 플래그에 따라 달라지는 방법을 보여 줍니다.
m_spInPlaceSite 형식 | m_bWndLess 값 | m_bInPlaceSiteEx 값 |
---|---|---|
IOleInPlaceSiteWindowless |
TRUE | True 또는 False |
IOleInPlaceSiteEx |
FALSE | TRUE |
IOleInPlaceSite |
FALSE | FALSE |
CComControlBase::m_spOleAdviseHolder
권고 연결을 유지하는 방법의 표준 구현을 제공합니다.
CComPtr<IOleAdviseHolder>
m_spOleAdviseHolder;
설명
참고 항목
컨트롤 클래스 내에서 이 데이터 멤버를 사용하려면 컨트롤 클래스에서 데이터 멤버로 선언해야 합니다. 컨트롤 클래스는 기본 클래스의 공용 구조체 내에서 선언되므로 이 데이터 멤버를 기본 클래스에서 상속하지 않습니다.
인터페이스 m_spOleAdviseHolder
는 IOleObject::Advise 및 IOleObject::Unadvise 메서드를 구현하여 컨테이너에 대한 권고 연결을 설정하고 삭제합니다. 컨트롤의 컨테이너는 IAdviseSink 인터페이스를 지원하여 조언 싱크를 구현해야 합니다.
CComControlBase::OnDraw
컨트롤을 그리려면 이 메서드를 재정의합니다.
virtual HRESULT OnDraw(ATL_DRAWINFO& di);
매개 변수
di
그리기 측면, 컨트롤 경계 및 그리기 최적화 여부와 같은 그리기 정보를 포함하는 ATL_DRAWINFO 구조체에 대한 참조입니다.
Return Value
표준 HRESULT 값입니다.
설명
기본값 OnDraw
은 CComControlBase::OnDrawAdvanced에 설정된 플래그에 따라 디바이스 컨텍스트를 삭제하거나 복원하거나 아무 작업도 수행하지 않습니다.
OnDraw
ATL 컨트롤 마법사를 사용하여 컨트롤을 만들 때 메서드가 컨트롤 클래스에 자동으로 추가됩니다. 마법사의 기본값 OnDraw
은 "ATL 8.0" 레이블이 있는 사각형을 그립니다.
예시
CComControlBase::GetAmbientAppearance에 대한 예제를 참조하세요.
CComControlBase::OnDrawAdvanced
기본값 OnDrawAdvanced
은 그리기를 위해 정규화된 디바이스 컨텍스트를 준비한 다음 컨트롤 클래스의 OnDraw
메서드를 호출합니다.
virtual HRESULT OnDrawAdvanced(ATL_DRAWINFO& di);
매개 변수
di
그리기 측면, 컨트롤 경계 및 그리기 최적화 여부와 같은 그리기 정보를 포함하는 ATL_DRAWINFO 구조체에 대한 참조입니다.
Return Value
표준 HRESULT 값입니다.
설명
컨테이너에서 전달한 디바이스 컨텍스트를 정규화하지 않고 수락하려면 이 메서드를 재정의합니다.
자세한 내용은 CComControlBase::OnDraw를 참조하세요.
CComControlBase::OnKillFocus
컨트롤이 현재 위치 활성 상태이고 유효한 컨트롤 사이트가 있는지 확인한 다음 컨트롤에 포커스가 손실되었음을 컨테이너에 알릴 수 있습니다.
LRESULT OnKillFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
매개 변수
nMsg
예약되었습니다.
wParam
예약되어 있습니다.
lParam
예약되었습니다.
bHandled
창 메시지가 성공적으로 처리되었는지 여부를 나타내는 플래그입니다. 기본값은 FALSE입니다.
Return Value
항상 1을 반환합니다.
CComControlBase::OnMouseActivate
UI가 사용자 모드인지 확인한 다음 컨트롤을 활성화합니다.
LRESULT OnMouseActivate(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
매개 변수
nMsg
예약되었습니다.
wParam
예약되어 있습니다.
lParam
예약되었습니다.
bHandled
창 메시지가 성공적으로 처리되었는지 여부를 나타내는 플래그입니다. 기본값은 FALSE입니다.
Return Value
항상 1을 반환합니다.
CComControlBase::OnPaint
그리기 위해 컨테이너를 준비하고 컨트롤의 클라이언트 영역을 가져오고 컨트롤 클래스의 OnDrawAdvanced
메서드를 호출합니다.
LRESULT OnPaint(UINT /* nMsg */,
WPARAM wParam,
LPARAM /* lParam */,
BOOL& /* lResult */);
매개 변수
nMsg
예약되었습니다.
wParam
기존 HDC입니다.
lParam
예약되었습니다.
lResult
예약되었습니다.
Return Value
항상 0을 반환합니다.
설명
wParam이 NULL OnPaint
이 아닌 경우 유효한 HDC가 포함되어 있다고 가정하고 CComControlBase::m_hWndCD 대신 사용합니다.
CComControlBase::OnSetFocus
컨트롤이 현재 위치 활성 상태이고 유효한 컨트롤 사이트가 있는지 확인한 다음 컨트롤이 포커스를 확보했음을 컨테이너에 알릴 수 있습니다.
LRESULT OnSetFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
매개 변수
nMsg
예약되었습니다.
wParam
예약되어 있습니다.
lParam
예약되었습니다.
bHandled
창 메시지가 성공적으로 처리되었는지 여부를 나타내는 플래그입니다. 기본값은 FALSE입니다.
Return Value
항상 1을 반환합니다.
설명
컨트롤이 포커스를 받았다는 알림을 컨테이너에 보냅니다.
CComControlBase::PreTranslateAccelerator
사용자 고유의 키보드 가속기 처리기를 제공하도록 이 메서드를 재정의합니다.
BOOL PreTranslateAccelerator(LPMSG /* pMsg */,
HRESULT& /* hRet */);
매개 변수
pMsg
예약되었습니다.
hRet
예약되었습니다.
Return Value
기본적으로 FALSE를 반환합니다.
CComControlBase::SendOnClose
자문 소유자에게 등록된 모든 권고 싱크에 제어가 닫혔다는 것을 알 수 있습니다.
HRESULT SendOnClose();
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
설명
컨트롤이 권고 싱크를 닫았다는 알림을 보냅니다.
CComControlBase::SendOnDataChange
자문 소유자에게 등록된 모든 권고 싱크에 제어 데이터가 변경되었음을 알 수 있습니다.
HRESULT SendOnDataChange(DWORD advf = 0);
매개 변수
advf
IAdviseSink::OnDataChange를 호출하는 방법을 지정하는 플래그를 조언합니다. 값은 ADVF 열거형에서 가져옵니다.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
CComControlBase::SendOnRename
컨트롤에 새로운 모니커가 있음을 자문 소유자에게 등록한 모든 자문 싱크에 알깁니다.
HRESULT SendOnRename(IMoniker* pmk);
매개 변수
pmk
컨트롤의 새 모니커에 대한 포인터입니다.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
설명
컨트롤의 모니커가 변경되었다는 알림을 보냅니다.
CComControlBase::SendOnSave
자문 소유자에게 등록된 모든 권고 싱크에 컨트롤이 저장되었음을 알 수 있습니다.
HRESULT SendOnSave();
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
설명
컨트롤이 해당 데이터를 방금 저장했다는 알림을 보냅니다.
CComControlBase::SendOnViewChange
등록된 모든 권고 싱크에 컨트롤의 보기가 변경되었음을 알 수 있습니다.
HRESULT SendOnViewChange(DWORD dwAspect, LONG lindex = -1);
매개 변수
dwAspect
컨트롤의 측면 또는 뷰입니다.
lindex
변경 된 보기의 일부입니다. -1만 유효합니다.
Return Value
성공 시 S_OK를 반환하거나 실패 시 HRESULT 오류를 반환합니다.
설명
SendOnViewChange
는 IAdviseSink::OnViewChange를 호출합니다. 현재 지원되는 린덱스의 유일한 값은 -1이며, 이는 전체 보기가 관심 있음을 나타냅니다.
CComControlBase::SetControlFocus
키보드 포커스를 컨트롤에서 설정하거나 제거합니다.
BOOL SetControlFocus(BOOL bGrab);
매개 변수
bGrab
TRUE이면 키보드 포커스를 호출 컨트롤로 설정합니다. FALSE이면 포커스가 있는 경우 호출 컨트롤에서 키보드 포커스를 제거합니다.
Return Value
컨트롤이 포커스를 성공적으로 받으면 TRUE를 반환합니다. 그렇지 않으면 FALSE입니다.
설명
창이 있는 컨트롤의 경우 Windows API 함수 SetFocus 가 호출됩니다. 창 없는 컨트롤 의 경우 IOleInPlaceSiteWindowless::SetFocus 가 호출됩니다. 이 호출을 통해 창 없는 컨트롤은 키보드 포커스를 가져오고 창 메시지에 응답할 수 있습니다.
CComControlBase::SetDirty
데이터 멤버 m_bRequiresSave
를 bDirty의 값으로 설정합니다.
void SetDirty(BOOL bDirty);
매개 변수
bDirty
데이터 멤버 CComControlBase::m_bRequiresSave 값입니다.
설명
SetDirty(TRUE)
컨트롤이 마지막으로 저장된 이후 변경되었음을 플래그로 지정하려면 호출해야 합니다. 값 m_bRequiresSave
은 CComControlBase::GetDirty를 사용하여 검색됩니다.