IOleInPlaceFrame::SetStatusText 方法 (oleidl.h)
設定並顯示容器框架視窗狀態列中就地對象的相關狀態文字。
語法
HRESULT SetStatusText(
[in] LPCOLESTR pszStatusText
);
參數
[in] pszStatusText
要顯示的訊息。
傳回值
此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。
傳回碼 | Description |
---|---|
|
部分文字已顯示,但訊息太長且遭到截斷。 |
|
作業失敗。 |
|
指定的指標無效。 |
|
發生意外錯誤。 |
備註
來電者附註
當您需要要求容器在其框架的狀態行中顯示物件文字時,您應該呼叫 IOleInPlaceFrame::SetStatusText 。 因為容器的框架視窗擁有狀態行,所以呼叫 IOleInPlaceFrame::SetStatusText 是唯一物件可以在容器框架視窗中顯示狀態資訊的方式。 如果容器拒絕物件的要求,則物件應用程式可以交涉框線空間以顯示自己的狀態視窗。在容器所擁有的功能表與就地使用中對象之間切換時,如果物件未呼叫容器的 IOleInPlaceFrame::SetStatusText 方法,狀態列文字就不會正確反映。 例如,如果在就地會話期間,用戶必須選取 [ 檔案 ] 功能表,則狀態欄會反映用戶選取此功能表時所發生的動作。 如果使用者接著選取 [ 編輯 ] 功能表 (由就地對象擁有) ,除非呼叫 IOleInPlaceFrame::SetStatusText ,否則狀態列文字不會變更。 這是因為容器無法辨識其中一個物件的功能表已作用中,因為容器會設陷的所有訊息現在都會移至物件。
實作者的注意事項
為了避免潛在的問題,所有就地啟動的物件都應該處理 WM_MENUSELECT 訊息,並呼叫 IOleInPlaceFrame::SetStatusText,即使物件通常不會提供狀態資訊, (在此情況下,物件只能針對要求的狀態文字傳遞 NULL 字符串) 。注意 執行 IOleInPlaceFrame::SetStatusText 時,請勿呼叫 PeekMessage 或 GetMessage 函式或對話框。 這樣做可能會導致系統死結。 從 IOleInPlaceUIWindow::GetBorder 內呼叫 OLE 介面方法和函式有進一步的限制。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | oleidl.h |