共用方式為


ITfReadOnlyProperty::EnumRanges 方法 (msctf.h)

取得範圍列舉,其中包含指定範圍內屬性的唯一值。

語法

HRESULT EnumRanges(
  [in]  TfEditCookie  ec,
  [out] IEnumTfRanges **ppEnum,
  [in]  ITfRange      *pTargetRange
);

參數

[in] ec

包含可識別編輯內容的編輯 Cookie。 這是從 ITfDocumentMgr::CreateCoNtextITfEditSession::D oEditSession取得。

[out] ppEnum

接收列舉值物件的 IEnumTfRanges 介面指標指標。 呼叫端在不再需要物件時,必須釋放此物件。

[in] pTargetRange

ITfRange介面的指標,指定要掃描唯一屬性值的範圍。 此參數是選擇性的,可以是 Null。 如需詳細資訊,請參閱<備註>一節。

傳回值

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

描述
S_OK
此方法成功。
E_INVALIDARG
一或多個參數無效。
E_OUTOFMEMORY
發生記憶體配置失敗。
E_FAIL
發生未指定的錯誤。
注意 如果應用程式未實作 ITextStoreACP::FindNextAttrTransition,ITfReadOnlyProperty::EnumRanges 會失敗並E_FAIL。
 
TF_E_NOLOCK
ec所識別的編輯內容沒有唯讀或讀取/寫入鎖定。

備註

注意: 如果應用程式未實作 ITextStoreACP::FindNextAttrTransitionITfReadOnlyProperty::EnumRanges 會失敗並E_FAIL。

這個方法取得的列舉值會包含指定屬性的每個唯一值範圍,包括空白值。 例如,假設的色彩屬性可以套用至下列標示的文字:


COLOR:      RR      GGGGGGGG
TEXT:  this is some colored text

呼叫 ITfReadOnlyProperty::EnumRanges 時, pTargetRange 設為此範圍時,列舉值將包含五個範圍。

範圍索引 Color 屬性值 範圍文字
0 <empty> 「this 」
1 R "is"
2 <empty> 「 some 」
3 G 「colored 」
4 <empty> "text"
 

如果 pTargetRangeNull,則列舉值會以內容中包含非空白屬性值的第一個和最後一個範圍開始和結束。 在上述範例中指定pTargetRangeNull會導致列舉值具有三個範圍。

範圍索引 Color 屬性值 範圍內的文字
0 R "is"
1 <empty> 「 some 」
2 G 「colored 」
 

列舉的範圍會以 pTargetRange的開始和結束錨點開始和結束,即使任一錨點位於屬性中間也一樣。

需求

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

另請參閱

IEnumTfRanges

ITfDocumentMgr::CreateCoNtext

ITfEditSession::D oEditSession

ITfRange

ITfReadOnlyProperty