Поделиться через


Преобразование смещения нажатия мыши по оси X в положение курсора

Обычно пользователь может выбрать позицию курсора (cp), щелкнув законечную половину символа "cp-1" или начальную половину символа "cp". Приложение может реализовать преобразование смещения мыши по оси x в положение курсора следующим образом:

int iCharPos;
int iCaretPos;
int fTrailing;
ScriptXtoCP(iMouseX, cChars, cGlyphs, pwLogClust, psva, piAdvance, psa,
            &iCharPos, &fTrailing);
iCaretPos = iCharPos + fTrailing;

Для скриптов, которые прикрепляют курсор к границам кластера, вызов ScriptXtoCP возвращает значение с параметром fTrailing , равным 0 или ширине кластера в кодовых точках.

Использование uniscribe