public static void NotifyTextChanged(TextStoreBase textStore, int startIndex, int removeLength, int insertLength) { #if METRO //Windows8.1では同じ値にしないと日本語入力ができなくなってしまう int oldend = startIndex, newend = startIndex; #else //TS_TEXTCHANGE structure's remark //1文字削除した場合はoldendに削除前の位置を設定し、newendとstartIndexに現在位置を設定し、 //1文字追加した場合はoldendに追加前の位置を設定し、newendとstartIndexに現在位置を設定する int oldend = startIndex + removeLength, newend = startIndex + insertLength; #endif textStore.NotifyTextChanged(startIndex, oldend, newend); }
public static bool ScrollToCompstionUpdated(TextStoreBase textStore, EditView view, int start, int end) { if (textStore.IsLocked() == false) { return(false); } using (Unlocker locker = textStore.LockDocument(false)) { foreach (TextDisplayAttribute attr in textStore.EnumAttributes(start, end)) { if (attr.attribute.bAttr == TF_DA_ATTR_INFO.TF_ATTR_TARGET_CONVERTED) { if (view.AdjustSrc(attr.startIndex)) { return(true); } } } } return(false); }