共用方式為


IOleInPlaceFrame::SetStatusText 方法 (oleidl.h)

設定並顯示容器框架視窗狀態列中就地對象的相關狀態文字。

語法

HRESULT SetStatusText(
  [in] LPCOLESTR pszStatusText
);

參數

[in] pszStatusText

要顯示的訊息。

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 Description
S_TRUNCATED
部分文字已顯示,但訊息太長且遭到截斷。
E_FAIL
作業失敗。
E_INVALIDARG
指定的指標無效。
E_UNEXPECTED
發生意外錯誤。

備註

來電者附註

當您需要要求容器在其框架的狀態行中顯示物件文字時,您應該呼叫 IOleInPlaceFrame::SetStatusText 。 因為容器的框架視窗擁有狀態行,所以呼叫 IOleInPlaceFrame::SetStatusText 是唯一物件可以在容器框架視窗中顯示狀態資訊的方式。 如果容器拒絕物件的要求,則物件應用程式可以交涉框線空間以顯示自己的狀態視窗。

在容器所擁有的功能表與就地使用中對象之間切換時,如果物件未呼叫容器的 IOleInPlaceFrame::SetStatusText 方法,狀態列文字就不會正確反映。 例如,如果在就地會話期間,用戶必須選取 [ 檔案 ] 功能表,則狀態欄會反映用戶選取此功能表時所發生的動作。 如果使用者接著選取 [ 編輯 ] 功能表 (由就地對象擁有) ,除非呼叫 IOleInPlaceFrame::SetStatusText ,否則狀態列文字不會變更。 這是因為容器無法辨識其中一個物件的功能表已作用中,因為容器會設陷的所有訊息現在都會移至物件。

實作者的注意事項

為了避免潛在的問題,所有就地啟動的物件都應該處理 WM_MENUSELECT 訊息,並呼叫 IOleInPlaceFrame::SetStatusText,即使物件通常不會提供狀態資訊, (在此情況下,物件只能針對要求的狀態文字傳遞 NULL 字符串) 。
注意 執行 IOleInPlaceFrame::SetStatusText 時,請勿呼叫 PeekMessageGetMessage 函式或對話框。 這樣做可能會導致系統死結。 從 IOleInPlaceUIWindow::GetBorder 內呼叫 OLE 介面方法和函式有進一步的限制。
 

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 oleidl.h

另請參閱

GetMessage

IOleInPlaceFrame

PeekMessage