ITfReadOnlyProperty::EnumRanges 方法 (msctf.h)
取得範圍列舉,其中包含指定範圍內屬性的唯一值。
語法
HRESULT EnumRanges(
[in] TfEditCookie ec,
[out] IEnumTfRanges **ppEnum,
[in] ITfRange *pTargetRange
);
參數
[in] ec
包含可識別編輯內容的編輯 Cookie。 這是從 ITfDocumentMgr::CreateCoNtext 或 ITfEditSession::D oEditSession取得。
[out] ppEnum
接收列舉值物件的 IEnumTfRanges 介面指標指標。 呼叫端在不再需要物件時,必須釋放此物件。
[in] pTargetRange
ITfRange介面的指標,指定要掃描唯一屬性值的範圍。 此參數是選擇性的,可以是 Null。 如需詳細資訊,請參閱<備註>一節。
傳回值
這個方法可以傳回其中一個值。
值 | 描述 |
---|---|
|
此方法成功。 |
|
一或多個參數無效。 |
|
發生記憶體配置失敗。 |
|
發生未指定的錯誤。
注意 如果應用程式未實作 ITextStoreACP::FindNextAttrTransition,ITfReadOnlyProperty::EnumRanges 會失敗並E_FAIL。
|
|
ec所識別的編輯內容沒有唯讀或讀取/寫入鎖定。 |
備註
注意: 如果應用程式未實作 ITextStoreACP::FindNextAttrTransition, ITfReadOnlyProperty::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" |
如果 pTargetRange 為 Null,則列舉值會以內容中包含非空白屬性值的第一個和最後一個範圍開始和結束。 在上述範例中指定pTargetRange的Null會導致列舉值具有三個範圍。
範圍索引 | 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 |