# ISimpleFrameSite

The ISimpleFrameSite interface supports simple frame controls that act as simple containers for other nested controls. Some controls merely contain other controls. In such cases, the simple control container, called a simple frame, doesn’t have to implement all container requirements. It can delegate most of the interface calls from its contained controls to the outer container that manages the simple frame. To support what are called simple frame controls, a container implements this interface as well as other site interfaces such as IOleControlSite.

An example of a simple frame control is a group box that only needs to capture a few keystrokes for its contained controls to implement the correct tab or arrow key behavior, but does not want to handle every other message. Through the two methods of this interface, the simple frame control passes messages to its control site both before and after its own processing. If that site is itself a simple frame, it can continue to pass messages up the chain.

##### When to Implement

Implement this interface on a control object to support nested controls without requiring the control to itself be a full container.

##### When to Use

Use this interface to pass messages to a container for processing.

Methods in Vtable Order

IUnknown Methods | Description
QueryInterface | Returns pointers to supported interfaces.
AddRef | Increments reference count.
Release | Decrements reference count.

ISimpleFrameSite Methods | Description
PreMessageFilter | Sends the simple frame site a message that is received by a control’s own window before the control itself does any processing.
PostMessageFilter | Sends the simple frame site a message that is received by a control’s own window after the control does its own processing.

See Also

IOleControl, IOleControlSite