Share via


iTfContextOwner::GetACPFromPoint 方法 (msctf.h)

ITfContextOwner::GetACPFromPoint 方法會將螢幕座標中的點轉換成應用程式字元位置。

語法

HRESULT GetACPFromPoint(
  [in]  const POINT *ptScreen,
  [in]  DWORD       dwFlags,
  [out] LONG        *pacp
);

參數

[in] ptScreen

POINT 結構的指標,其中包含點的螢幕座標。

[in] dwFlags

指定要根據相對於字元周框方塊之點的螢幕座標傳回的字元位置。 根據預設,傳回的字元位置是包含點螢幕座標的字元周框方塊。 如果點位於字元周框方塊外,此方法會傳回 NULL 或TF_E_INVALIDPOINT。

如果為此參數指定GXFPF_ROUND_NEAREST旗標,且點的螢幕座標包含在字元周框方塊中,則傳回的字元位置是最接近點螢幕座標的周框邊緣。

如果為此參數指定GXFPF_NEAREST旗標,而且點的螢幕座標未包含在字元周框方塊中,則會傳回最接近的字元位置。

可以合併位旗標。

[out] pacp

接收對應至點螢幕座標的字元位置

傳回值

這個方法可以傳回下列其中一個值。

描述
S_OK
此方法成功。
TS_E_INVALIDPOINT
ptScreen 參數不在任何字元的周框方塊內。
TS_E_NOLAYOUT
應用程式尚未計算文字版面配置。

備註

點 1 位於字元周框方塊中,而點 2 位於字元周框方塊外。 使用圖例,根據 dwFlags 參數中使用的旗標來判斷傳回的字元位置。

點 1

  • Default-- pacp = 0 --點的螢幕座標位於字元位置 0 的字元周框方塊內。
  • GXFPF_ROUND_NEAREST-- pacp = 1 --點的螢幕座標最接近範圍位置 1,這是字元位置 1 的起始範圍位置。
  • GXFPF_NEAREST-- pacp = 0 --預設行為是因為點位於字元位置 0 的字元周框方塊內。
點 2
  • Default-- hr = TF_E_INVALIDPOINT --點的螢幕座標位於字元周框方塊外。
  • GXFPF_ROUND_NEAREST-- hr = TF_E_INVALIDPOINT --預設行為是因為點的螢幕座標位於字元周框方塊外。
  • GXFPF_NEAREST-- pacp = 1 --點螢幕座標的最接近字元位置是字元位置 1。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 msctf.h
Dll Msimtf.dll
可轉散發套件 Windows 2000 專業版上的 TSF 1.0

另請參閱

ITextStoreACP::GetACPFromPoint

ITfContextOwner

ITfContextView::GetRangeFromPoint

TsViewCookie