iTextStoreACP::GetACPFromPoint 方法 (textstor.h)

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

語法

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

參數

[in] vcView

指定內容檢視。

[in] ptScreen

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

[in] dwFlags

指定要根據相對於字元周框方塊之點的螢幕座標傳回的字元位置。 根據預設,傳回的字元位置是包含點螢幕座標的字元周框方塊。 如果點位於字元周框方塊外,此方法會傳回 NullTF_E_INVALIDPOINT。 此參數的其他位旗標如下所示。

可以合併位旗標。

意義
GXFPF_ROUND_NEAREST
如果點的螢幕座標包含在字元周框方塊中,傳回的字元位置就是最接近點螢幕座標的周框邊緣。
GXFPF_NEAREST
如果點的螢幕座標未包含在字元周框方塊中,則會傳回最接近的字元位置。

[out] pacp

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

傳回值

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

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

備註

點 1 位於字元周框方塊中,而點 2 位於字元周框方塊外。 點 1 螢幕座標預設會讓 pacp 參數為 0,或者 dwFlags 參數設定為 GXFPF_NEAREST ,因為第 1 點螢幕座標位於字元位置 0 的字元周框方塊內。 如果 dwFlags 參數設定為點 1 GXFPF_ROUND_NEAREST, 則 pacp 參數為 1,因為點 1 螢幕座標最接近範圍位置 1。 範圍位置 1 是字元位置 1 的起始範圍位置。

針對點 2 螢幕座標,此方法預設會傳回 TF_E_INVALIDPOINT ,或者 dwFlags 參數設定為 GXFPF_NEAREST ,因為第 2 點螢幕座標位於字元周框方塊外。 如果 dwFlags 參數設定為 GXFPF_ROUND_NEAREST,則點 2 螢幕座標會導致 pacp 參數為 1,因為最接近點 2 螢幕座標的字元位置是字元位置 1。

點 1

  • Default-- pacp = 0 --螢幕座標點位於字元位置 0 的字元周框方塊內。
  • -- GXFPF_ROUND_NEARESTpacp = 1 --點的螢幕座標最接近範圍位置 1,這是字元位置 1 的起始範圍位置。
  • -- GXFPF_NEARESTpacp = 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
標頭 textstor.h
Dll Msctf.dll
可轉散發套件 Windows 2000 專業版上的 TSF 1.0

另請參閱

GXFPF_* 常數

ITextStoreACP

ITfCoNtextOwner::GetACPFromPoint

ITfCoNtextView::GetRangeFromPoint

管理員傳回值

TsViewCookie