IViewObjectExImpl Class

This class implements IUnknown and provides default implementations of the IViewObject, IViewObject2, and IViewObjectEx interfaces.

Important

This class and its members cannot be used in applications that execute in the Windows Runtime.

template< 
class T  
> 
class ATL_NO_VTABLE IViewObjectExImpl : 
public IViewObjectEx

Parameters

  • T
    Your class, derived from IViewObjectExImpl.

Members

Public Methods

Name

Description

IViewObjectExImpl::Draw

Draws a representation of the control onto a device context.

IViewObjectExImpl::Freeze

Freezes the drawn representation of a control so it won't change until an Unfreeze. The ATL implementation returns E_NOTIMPL.

IViewObjectExImpl::GetAdvise

Retrieves an existing advisory sink connection on the control, if there is one.

IViewObjectExImpl::GetColorSet

Returns the logical palette used by the control for drawing. The ATL implementation returns E_NOTIMPL.

IViewObjectExImpl::GetExtent

Retrieves the control's display size in HIMETRIC units (0.01 millimeter per unit) from the control class data member CComControlBase::m_sizeExtent.

IViewObjectExImpl::GetNaturalExtent

Provides sizing hints from the container for the object to use as the user resizes it.

IViewObjectExImpl::GetRect

Returns a rectangle describing a requested drawing aspect. The ATL implementation returns E_NOTIMPL.

IViewObjectExImpl::GetViewStatus

Returns information about the opacity of the object and what drawing aspects are supported.

IViewObjectExImpl::QueryHitPoint

Checks if the specified point is in the specified rectangle and returns a HITRESULT value in pHitResult.

IViewObjectExImpl::QueryHitRect

Checks whether the control's display rectangle overlaps any point in the specified location rectangle and returns a HITRESULT value in pHitResult.

IViewObjectExImpl::SetAdvise

Sets up a connection between the control and an advise sink so the sink can be notified about changes in the control's view.

IViewObjectExImpl::Unfreeze

Unfreezes the drawn representation of the control. The ATL implementation returns E_NOTIMPL.

Remarks

The IViewObject, IViewObject2, and IViewObjectEx interfaces enable a control to display itself directly, and to create and manage an advise sink to notify the container of changes in the control display. The IViewObjectEx interface provides support for extended control features such as flicker-free drawing, non-rectangular and transparent controls, and hit-testing (for example, how close a mouse click must be to be considered on the control). Class IViewObjectExImpl provides a default implementation of these interfaces and implements IUnknown by sending information to the dump device in debug builds.

Inheritance Hierarchy

IViewObjectEx

IViewObjectExImpl

Requirements

Header: atlctl.h

See Also

Tasks

Creating an ATL Project

Reference

CComControl Class

ActiveX Controls Interfaces

ATL Tutorial

Other Resources

ATL Class Overview