Вверх ↑
Ответов: 5446
Рейтинг: 323
#1: 2007-11-22 23:13:34 ЛС | профиль | цитата
nesco, так ты парой постов выше уже вроде вызвался... Самому мне лень (), но накидаю идей:
1) Подготовка

  • ищем самую длинную строку - на неё будем равняться
  • выясняем ширину пробела (GetTextExtentPoint32)

2) Для каждой строки:

  • ищем пробелы и добавляем их позиции в список
  • к каждому пробелу из списка по очереди добавляем ещё пробел пока не будет ровно или перебор по длине
  • если перебор - отменяем последний пробел

Это общий алогритм, а для моноширинных фонтов (Courier New etc) можно упростить, пользуясь не понятием пиксельной длины строки, а буквенной, тогда GetTextExtentPoint32 нам и не нужОн.
карма: 1

0