IViewObject::Freeze
Freezes a certain aspect of the object's presentation so that it does not
change until the
IViewObject::Unfreeze method is called. The most common use of this method is for banded printing.
HRESULT Freeze(
DWORD dwAspect,
| //Specifies how the object is to be represented
|
LONG lindex,
| //Specifies the part of the object to draw
|
void * pvAspect,
| //Always NULL
|
DWORD * pdwFreeze
| //Points to location containing an identifier to be used in a subsequent call
to Unfreeze
|
);
|
|
Parameters
dwAspect
[in]Specifies how the object is to be represented. Representations include
content, an icon, a thumbnail, or a printed document. Valid values are taken from
the enumeration
DVASPECT. See the
DVASPECT enumeration for more information.
lindex
[in]Indicates the portion of the object that is of interest for the draw
operation. Its interpretation varies with
dwAspect. See the
DVASPECT enumeration for more information.
pvAspect
[in]Provides more information about the view of the object specified in
dwAspect. Since none of the current aspects support additional information;
pvAspect must always be NULL.
pdwFreeze
[out]Points to location where an identifying key is returned. This unique key
is later used to cancel the freeze by calling
IViewObject::Unfreeze. This key is an index that the default cache uses to keep track of which
object is frozen.
Return Values
S_OK
The presentation was successfully frozen.
VIEW_S_ALREADYFROZEN
Presentation has already been frozen. The value of
pdwFreeze is the identifying key of the already frozen object.
OLE_E_BLANK
Presentation not in cache.
DV_E_LINDEX
Invalid value for
lindex; currently; only -1 is supported.
DV_E_DVASPECT
Invalid value for
dwAspect.
Comments
The
IViewObject::Freeze method causes the view object to freeze its drawn representation until a
subsequent call to
IViewObject::Unfreeze releases it. After calling
IViewObject::Freeze; successive calls to
IViewObject::Draw with the same parameters produce the same picture until
IViewObject::Unfreeze is called.
IViewObject::Freeze is not part of the persistent state of the object and does not continue
across unloads and reloads of the object.
The most common use of this method is for banded printing.
While in a frozen state; view notifications are not sent. Pending view
notifications are deferred to the subsequent call to
IViewObject::Unfreeze.
See Also
DVASPECT,
IViewObject::Unfreeze
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database