Freigeben über


POINTERINACTIVE-Enumeration (ocidl.h)

Geben Sie die Aktivierungsrichtlinie des Objekts an und werden in der IPointerInactive::GetActivationPolicy-Methode verwendet.

Syntax

typedef enum tagPOINTERINACTIVE {
  POINTERINACTIVE_ACTIVATEONENTRY = 1,
  POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
  POINTERINACTIVE_ACTIVATEONDRAG = 4
} POINTERINACTIVE;

Konstanten

 
POINTERINACTIVE_ACTIVATEONENTRY
Wert: 1
Das Objekt sollte an ortsbezogener Stelle aktiviert werden, wenn die Maus es während eines Mausbewegungsvorgangs eindringt.
POINTERINACTIVE_DEACTIVATEONLEAVE
Wert: 2
Das Objekt sollte deaktiviert werden, wenn die Maus das Objekt während eines Mausbewegungsvorgangs verlässt.
POINTERINACTIVE_ACTIVATEONDRAG
Wert: 4
Das Objekt sollte an ortsbezogener Stelle aktiviert werden, wenn die Maus während eines Drag-and-Drop-Vorgangs darüber gezogen wird.

Hinweise

Weitere Informationen zur Verwendung der werte POINTERINACTIVE_ACTIVATEONENTRY und POINTERINACTIVE_DEACTIVATEONLEAVE finden Sie in der IPointerInactive::GetActivationPolicy-Methode .

Der POINTERINACTIVE_ACTIVATEONDRAG-Wert kann verwendet werden, um Drag-and-Drop-Vorgänge für ein inaktives Objekt zu unterstützen. Ein inaktives Objekt verfügt über kein Fenster, um sich als potenzielles Ablageziel zu registrieren. Die meisten Container ignorieren eingebettete, inaktive Objekte aufgrund des mit der Aktivierung verbundenen Mehraufwands als Ablageziele.

Alternativ zum Aktivieren eines Objekts, wenn der Mauszeiger während eines Drag-and-Drop-Vorgangs drüber ist, kann der Container zunächst QueryInterface verwenden, um zu bestimmen, ob das inaktive Objekt IPointerInactive unterstützt. Wenn das Objekt dann IPointerInactive nicht unterstützt, kann der Container davon ausgehen, dass es sich nicht um ein Ablageziel handelt. Wenn das Objekt IPointerInactive unterstützt, ruft der Container die IPointerInactive::GetActivationPolicy-Methode auf. Wenn der POINTERINACTIVE_ACTIVATEONDRAG Wert festgelegt ist, aktiviert der Container das Objekt an Ort und Stelle, sodass das Objekt eine eigene IDropTarget-Schnittstelle registrieren kann.

Der Container verarbeitet seine eigene IDropTarget::D ragOver-Methode , wenn alle diese Aktionen auftreten. Um diese Methode abzuschließen, gibt der Container DROPEFFECT_NONE für den pdwEffect-Parameter zurück. Anschließend wird der Drag and Drop-Vorgang fortgesetzt, indem der IDropTarget::D ragLeave des Containers aufgerufen und dann IDropTarget::D ragEnter des Objekts aufgerufen wird.

Wichtig Bei fensterlosen OLE-Objekten unterscheidet sich dieser Mechanismus geringfügig. Weitere Informationen zu Drag and Drop-Vorgängen für fensterlose Objekte finden Sie unter IOleInPlaceSiteWindowless .
 

Wenn der Drop für das eingebettete Objekt erfolgt, wird das Objekt auf der Benutzeroberfläche aktiviert und wird deaktiviert, wenn sich der Fokus erneut ändert. Wenn der Drop für das Objekt nicht auftritt, sollte der Container das Objekt deaktivieren, wenn es das nächste Mal einen Aufruf des eigenen IDropTarget::D ragEnter erhält. Es ist möglich, dass der Drop für ein drittes aktives Objekt ohne einen dazwischenliegenden Aufruf des IDropTarget::D ragEnter des Containers erfolgt. In diesem Fall sollte der Container versuchen, das Objekt so schnell wie möglich zu deaktivieren, z. B. wenn er ein anderes Objekt aktiviert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile ocidl.h

Weitere Informationen

Idroptarget

IPointerInactive

IPointerInactive::GetActivationPolicy