OLEMISC
The OLEMISC
enumeration is a set of bitwise constants that can be combined to describe
miscellaneous characteristics of an object or class of objects. A container can
call the IOleObject::GetMiscStatus method to determine the OLEMISC
bits set for an object. The values specified in an object server s
CLSID\MiscStatus entry in the registration database are based on the OLEMISC
enumeration. These constants are also used in the dwStatus member of the
OBJECTDESCRIPTOR
typedef enum tagOLEMISC // bitwise
{
OLEMISC_RECOMPOSEONRESIZE
= 1,
OLEMISC_ONLYICONIC
= 2,
OLEMISC_INSERTNOTREPLACE
= 4,
OLEMISC_STATIC
= 8,
OLEMISC_CANTLINKINSIDE
= 16,
OLEMISC_CANLINKBYOLE1
= 32,
OLEMISC_ISLINKOBJECT
= 64,
OLEMISC_INSIDEOUT
= 128,
OLEMISC_ACTIVATEWHENVISIBLE
= 256,
OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512,
OLEMISC_INVISIBLEATRUNTIME = 1024
OLEMISC_ALWAYSRUN
= 2048,
OLEMISC_ACTSLIKEBUTTON
= 4096,
OLEMISC_ACTSLIKELABEL
= 8192,
OLEMISC_NOUIACTIVATE
= 16384,
OLEMISC_ALIGNABLE =
32768,
OLEMISC_SIMPLEFRAME
= 65536,
OLEMISC_SETCLIENTSITEFIRST
= 131072,
OLEMISC_IMEMODE
= 262144,
OLEMISC_IGNOREACTIVATEWHENVISIBLE
= 524288,
OLEMISC_WANTSTOMENUMERGE = 1048576,
OLEMISC_SUPPORTSMULTILEVELUNDO
= 2097152
} OLEMISC;
Elements
OLEMISC_RECOMPOSEONRESIZE
When the
container resizes the space allocated to displaying one of the object s
presentations, the object wants to recompose the presentation. This means that
on resize, the object wants to do more than scale its picture. If this bit is
set, the container should force the object to the running state and call IOleObject::SetExtent
OLEMISC_ONLYICONIC
The object
has no useful content view other than its icon. From the user s perspective,
the Display As Icon checkbox (in the Paste Special dialog box) for this object
should always be checked, and should not be uncheckable. Note that such an
object should still have a drawable content aspect; it will look the same as
its icon view.
OLEMISC_INSERTNOTREPLACE
The object
has initialized itself from the data in the container s current selection.
Containers should examine this bit after calling IOleObject::InitFromData
OLEMISC_STATIC
This object
is a static object, which is an object that contains only a presentation; it
contains no native data. See OleCreateStaticFromData
OLEMISC_CANTLINKINSIDE
This object
cannot be the link source that when bound to activates (runs) the object. If
the object is selected and copied to the clipboard, the object s container can
offer a link in a clipboard data transfer that, when bound, must connect to the
outside of the object. The user would see the object selected in its container,
not open for editing. Rather than doing this, the container can simply refuse
to offer a link source when transferring objects with this bit set. Examples of
objects that have this bit set include OLE1 objects, static objects, and links.
OLEMISC_CANLINKBYOLE1
This object
can be linked to by OLE 1 containers. This bit is used in the dwStatus
member of the OBJECTDESCRIPTOR
OLEMISC_ISLINKOBJECT
This object
is a link object. This bit is significant to OLE 1 and is set by the OLE 2 link
object; object applications have no need to set this bit.
OLEMISC_INSIDEOUT
This object
is capable of activating in-place, without requiring installation of menus and
toolbars to run. Several such objects can be active concurrently. Some
containers, such as forms, may choose to activate such objects automatically.
OLEMISC_ACTIVATEWHENVISIBLE
This bit is
set only when OLEMISC_INSIDEOUT is set, and indicates that this object prefers
to be activated whenever it is visible. Some containers may always ignore this
hint.
OLEMISC_RENDERINGISDEVICEINDEPENDENT
This object
does not pay any attention to target devices. Its presention data will be the
same in all cases.
OLEMISC_INVISIBLEATRUNTIME
This value is
used with controls. It indicates that the control has no run-time user
interface, but that it should be visible at design time. For example, a timer
control that fires a specific event periodically would not show itself at run
time, but it needs a design-time user interface so a form designer can set the
event period and other properties.
OLEMISC_ALWAYSRUN
This value is
used with controls. It tells the container that this control always wants to be
running. As a result, the container should call OleRun when loading or
creating the object.
OLEMISC_ACTSLIKEBUTTON
This value is
used with controls. It indicates that the control is buttonlike in that it
understands and obeys the container s DisplayAsDefault ambient property.
OLEMISC_ACTSLIKELABEL
This value is
used with controls. It marks the control as a label for whatever control comes
after it in the form s ordering. Pressing a mnemonic key for a label control
activates the control after it.
OLEMISC_NOUIACTIVATE
This value is
used with controls. It indicates that the control has no UI active state,
meaning that it requires no in-place tools, no shared menu, and no
accelerators. It also means that the control never needs the focus.
OLEMISC_ALIGNABLE
This value is
used with controls. It indicates that the control understands how to align
itself within its display rectangle, according to alignment properties such as
left, center, and right.
OLEMISC_SIMPLEFRAME
This value is
used with controls. It indicates that the control is a simple grouping of other
controls and does little more than pass Windows messages to the control
container managing the form. Controls of this sort require the implementation
of ISimpleFrameSite
OLEMISC_SETCLIENTSITEFIRST
This value is
used with controls. It indicates that the control wants to use IOleObject::SetClientSite
OLEMISC_IMEMODE
Obsolete. A
control that works with an Input Method Editor (IME) system component can
control the state of the IME through the IMEMode property rather than using
this value in the OLEMISC enumeration. You can use an IME component to enter
information in Asian character sets with a regular keyboard. A Japanese IME,
for example, allows you to type a word such as sushi, on a regular keyboard
and when you hit the spacebar, the IME component converts that word to
appropriate kanji or proposes possible choices. The OLEMISC_IMEMODE value was
previously used to mark a control as capable of controlling an IME mode system
component.
OLEMISC_IGNOREACTIVATEWHENVISIBLE
For new
ActiveX controls to work in an older container, the control may need to have
the OLEMISC_ACTIVATEWHENVISIBLE value set. However, in a newer container that
understands and uses IPointerInactive, the control does not wish to be
in-place activated when it becomes visible. To allow the control to work in
both kinds of containers, the control can set this value. Then, the container
ignores OLEMISC_ACTIVATEWHENVISIBLE and does not in-place activate the control
when it becomes visible.
OLEMISC_WANTSTOMENUMERGE
A control
that can merge its menu with its container sets this value.
OLEMISC_SUPPORTSMULTILEVELUNDO
A control
that supports multi-level undo sets this value.
See Also