IOleInPlaceObject::UIDeactivate method

Deactivates and removes the user interface of an active in-place object.

Syntax


HRESULT UIDeactivate();

Parameters

This method has no parameters.

Return value

This method returns S_OK on success. Other possible return values include the following.

Return codeDescription
E_UNEXPECTED

An unexpected error has occurred.

 

Remarks

Notes to Callers

This method is called by the object's immediate container when, for example, the user has clicked in the client area outside the object.

If the container has called IOleInPlaceObject::UIDeactivate, it should later call IOleInPlaceObject::InPlaceDeactivate to properly clean up resources. The container can assume that stopping or releasing the object cleans up resources if necessary. The object must be prepared to do so if IOleInPlaceObject::InPlaceDeactivate has not been called. but either IOleInPlaceObject::UIDeactivate or IOleObject::Close has been called.

Notes to Implementers

Resources such as menus and windows can be either cleaned up or kept in a hidden state until your object is completely deactivated by calls to either IOleInPlaceObject::InPlaceDeactivate or IOleObject::Close. The object application must call IOleInPlaceSite::OnUIDeactivate before doing anything with the composite menus so that the container can first be detached from the frame window. On deactivating the in-place object's user interface, the object is left in a ready state so it can be quickly reactivated. The object stays in this state until the undo state of the document changes. The container should then call IOleInPlaceObject::InPlaceDeactivate to tell the object to discard its undo state.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

OleIdl.h

IDL

OleIdl.Idl

IID

IID_IOleInPlaceObject is defined as 00000113-0000-0000-C000-000000000046

See also

IOleInPlaceObject
IOleInPlaceObject::InPlaceDeactivate
IOleInPlaceSite::OnUIDeactivate
IOleInPlaceObject::ReactivateAndUndo
IOleObject::Close

 

 

Show: