Fix block caret during horizontal navigation
This commit is contained in:
1 parent
14ac2ff086
commit
b67e17c2fa
2 files changed
+2
No files matched your search
@@ -83,6 +83,7 @@
|
||||
- 单行 `TextBox` 现在支持基于光标位置的横向自动滚动:当文本向右溢出时,左右箭头、输入插入、删除和鼠标定位都会自动把当前 caret 滚动到可见区域
|
||||
- 修复了单行 `TextBox` 启用横向滚动后 preedit 组合下划线未跟随文本一起偏移的问题,输入法预编辑样式现已恢复正常显示
|
||||
- 继续修正了单行 `TextBox` 的横向滚动回收逻辑:当末尾删除文本导致内容变短时,会及时收回多余的右侧滚动量,避免随后输入法预编辑时视图突然跳到最右端
|
||||
- 修复了 `TextBox` 用左右方向键移动时中间位置 caret 被绘制成整字符方块的问题:插入光标现在在整行范围内都会保持细竖线样式
|
||||
|
||||
## 构建
|
||||
|
||||
|
||||
@@ -497,6 +497,7 @@ BOOL CTextLayout::RectFromCharPosDipsRaw(UINT nPos, D2D1_RECT_F *prc)
|
||||
}
|
||||
|
||||
*prc = _prgLines[i].prgCharInfo[nPos - _prgLines[i].nPos].rc;
|
||||
prc->right = prc->left;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user