Condividi tramite


Metodo IOleInPlaceFrame::SetStatusText (oleidl.h)

Imposta e visualizza il testo dello stato dell'oggetto sul posto nella riga di stato della finestra del contenitore.

Sintassi

HRESULT SetStatusText(
  [in] LPCOLESTR pszStatusText
);

Parametri

[in] pszStatusText

Messaggio da visualizzare.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
S_TRUNCATED
È stato visualizzato un testo, ma il messaggio era troppo lungo ed è stato troncato.
E_FAIL
Operazione non riuscita.
E_INVALIDARG
Il puntatore specificato non è valido.
E_UNEXPECTED
Si è verificato un errore imprevisto.

Commenti

Note ai chiamanti

È necessario chiamare IOleInPlaceFrame::SetStatusText quando è necessario chiedere al contenitore di visualizzare il testo dell'oggetto nella riga di stato della cornice, se ne ha uno. Poiché la finestra frame del contenitore possiede la riga di stato, chiamando IOleInPlaceFrame::SetStatusText è l'unico modo in cui un oggetto può visualizzare le informazioni sullo stato nella finestra frame del contenitore. Se il contenitore rifiuta la richiesta dell'oggetto, l'applicazione dell'oggetto può tuttavia negoziare lo spazio di bordo per visualizzare la propria finestra di stato.

Quando si passa tra i menu di proprietà del contenitore e l'oggetto attivo sul posto, il testo della barra di stato non viene riflesso correttamente se l'oggetto non chiama il metodo IOleInPlaceFrame::SetStatusText del contenitore. Se, ad esempio, durante una sessione sul posto, l'utente doveva selezionare il menu File , la barra di stato rifletterebbe l'azione che si verificherebbe se l'utente ha selezionato questo menu. Se l'utente seleziona il menu Modifica (che è di proprietà dell'oggetto sul posto), il testo della barra di stato non cambierà a meno che non venga chiamato il testo della barra di stato a meno che non venga chiamato IOleInPlaceFrame::SetStatusText . Ciò è dovuto al fatto che il contenitore non è in grado di riconoscere che uno dei menu dell'oggetto è stato reso attivo perché tutti i messaggi che il contenitore avrebbe traslato l'oggetto.

Note per gli implementatori

Per evitare potenziali problemi, tutti gli oggetti attivati sul posto devono elaborare il messaggio di WM_MENUSELECT e chiamare IOleInPlaceFrame::SetStatusText, anche se l'oggetto non fornisce in genere informazioni sullo stato (in questo caso l'oggetto può semplicemente passare una stringa NULL per il testo di stato richiesto).
Nota Durante l'esecuzione di IOleInPlaceFrame::SetStatusText, non effettuare chiamate alle funzioni PeekMessage o GetMessage o a una finestra di dialogo. In questo modo può causare il deadlock del sistema. Esistono ulteriori restrizioni per cui è possibile chiamare metodi e funzioni dell'interfaccia OLE all'interno di IOleInPlaceUIWindow::GetBorder.
 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

GetMessage

Ioleinplaceframe

PeekMessage