共用方式為


OleTranslateAccelerator 函式 (ole2.h)

由物件應用程式呼叫,可讓物件的容器根據容器的快捷鍵數據表來轉譯加速器。

語法

HRESULT OleTranslateAccelerator(
  [in] LPOLEINPLACEFRAME     lpFrame,
  [in] LPOLEINPLACEFRAMEINFO lpFrameInfo,
  [in] LPMSG                 lpmsg
);

參數

[in] lpFrame

可傳送按鍵的 IOleInPlaceFrame 介面指標。

[in] lpFrameInfo

包含從容器取得之快捷鍵數據表 的 OLEINPLACEFRAMEINFO 結構的指標。

[in] lpmsg

包含按鍵的 MSG 結構的指標。

傳回值

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

傳回碼 Description
E_FAIL
對象應該會繼續處理此訊息。

備註

對象伺服器會呼叫 OleTranslateAccelerator ,以允許物件的容器根據容器的快捷鍵數據表,根據 lpFrameInfo 所指向的容器來轉譯快捷鍵按鍵。 雖然自主物件是使用中物件,但對象的伺服器一律會先有機會轉譯所接收的任何訊息。 如果不需要這樣做,伺服器會呼叫 OleTranslateAccelerator ,讓物件的容器有機會。 如果鍵盤輸入符合容器提供的快捷鍵數據表中找到的快捷鍵, OleTranslateAccelerator 會透過 IOleInPlaceFrame::TranslateAccelerator 方法將訊息及其命令標識符傳遞給容器。 如果取用按鍵,這個方法會傳回S_OK;否則會傳回S_FALSE。

應該定義容器的快速鍵數據表,以便與執行自己的快速鍵按鍵翻譯的物件應用程式正常運作。 這些資料表的格式應如下:

"char", wID, VIRTKEY, CONTROL

這是描述鍵盤快捷鍵的最常見方式。 若無法這麼做,可能會導致按鍵在就地會話期間遺失或傳送到錯誤的物件。

物件可以呼叫 IsAccelerator 函 式,以查看快捷鍵按鍵是否屬於物件或容器。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 ole2.h
程式庫 Ole32.lib
Dll Ole32.dll
API 集合 ext-ms-win-com-ole32-l1-1-3 (於 Windows 10 10.0.10240 版)

另請參閱

IOleInPlaceFrame::TranslateAccelerator

IsAccelerator