Compartir a través de


Método IOleInPlaceFrame::SetStatusText (oleidl.h)

Establece y muestra el texto de estado sobre el objeto en contexto en la línea de estado de la ventana de marco del contenedor.

Sintaxis

HRESULT SetStatusText(
  [in] LPCOLESTR pszStatusText
);

Parámetros

[in] pszStatusText

Mensaje que se va a mostrar.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.

Código devuelto Descripción
S_TRUNCATED
Se mostró texto, pero el mensaje era demasiado largo y se truncaba.
E_FAIL
Error en la operación.
E_INVALIDARG
El puntero especificado no es válido.
E_UNEXPECTED
Se ha producido un error inesperado.

Comentarios

Notas a los autores de llamadas

Debes llamar a IOleInPlaceFrame::SetStatusText cuando necesites pedir al contenedor que muestre el texto del objeto en la línea de estado de su marco, si tiene uno. Dado que la ventana de marco del contenedor posee la línea de estado, llamar a IOleInPlaceFrame::SetStatusText es la única manera en que un objeto puede mostrar información de estado en la ventana de marco del contenedor. Si el contenedor rechaza la solicitud del objeto, la aplicación de objeto puede, sin embargo, negociar el espacio de borde para mostrar su propia ventana de estado.

Al cambiar entre menús propiedad del contenedor y el objeto activo en contexto, el texto de la barra de estado no se refleja correctamente si el objeto no llama al método IOleInPlaceFrame::SetStatusText del contenedor. Por ejemplo, si, durante una sesión local, el usuario tenía que seleccionar el menú Archivo , la barra de estado reflejaría la acción que se produciría si el usuario seleccionó este menú. Si el usuario selecciona el menú Editar (que es propiedad del objeto local), el texto de la barra de estado no cambiaría a menos que se llamara a IOleInPlaceFrame::SetStatusText . Esto se debe a que no hay ninguna manera de que el contenedor reconozca que uno de los menús del objeto se ha hecho activo porque todos los mensajes que el contenedor interceptaría ahora van al objeto .

Notas para los implementadores

Para evitar posibles problemas, todos los objetos que se activan en su lugar deben procesar el mensaje WM_MENUSELECT y llamar a IOleInPlaceFrame::SetStatusText, incluso si el objeto no suele proporcionar información de estado (en cuyo caso el objeto puede pasar simplemente una cadena NULL para el texto de estado solicitado).
Nota Al ejecutar IOleInPlaceFrame::SetStatusText, no realice llamadas a las funciones PeekMessage o GetMessage ni a un cuadro de diálogo. Si lo hace, puede provocar que el sistema interbloquee. Hay más restricciones sobre qué métodos y funciones de interfaz OLE se pueden llamar desde IOleInPlaceUIWindow::GetBorder.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleidl.h

Consulte también

GetMessage

IOleInPlaceFrame

PeekMessage