Я опубликовал вопрос, похожий на этот, ранее, однако, подумав об этом и проверив ответы, я считаю, что я неправильно истолковал ответы, а ответчик (-и) неправильно истолковал меня. Оригинальный вопрос здесь . Я думаю, что люди верили, что я просто хотел выделить строки, я не указал свою точную цель. Итак, теперь я буду:
В последнее время я пытался создать текстовое поле 100% с нуля в C ++ CLR с помощью GDI +. Я столкнулся с проблемой размещения каретки, когда пользователь нажимает на текстовое поле. Делая простую математику (где они нажали, разделенные на ширину линии), я могу выяснить, какую линию они нажали. Но для того, чтобы щелкнуть по персонажу, мне нужно (если нет лучшего способа) сравнить ограничивающие прямоугольники всех символов в строке и поместить каретку перед тем, в который вписывается мышь. Для этого мне нужно получить точные границы каждого отдельного символа , а не всей строки.
Я уже попробовал несколько вещей, ни одна из которых, похоже, не сработала:
Я считаю, что не могу использовать эти методы, если нет способов обойти их ограничения. Я надеюсь, что я сделал свою проблему и ожидал решения намного яснее, чем раньше.