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);
 }