![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() У меня RichEdit. В него вставлятся (из буфера обмена) 4-х строчный стих.
Надо, чтобы если строки не помещаются в окно (лезут в 5, 6... линию), то подгонять их по размеру окна уменьшая шрифт. Ваш ход, знатоки |
#2
|
|||
|
|||
![]() Код:
for i := 0 to RichEdit1.Lines.Count - 1 do if MaxWidth < RichEdit1.Canvas.TextWidth(RichEdit1.Lines.Strings[i]) then MaxWidth := RichEdit1.Canvas.TextWidth(RichEdit1.Lines.Strings[i]); Так ты получишь ширину самой длинной строки. |
#3
|
|||
|
|||
![]() Цитата:
Верю вам, что вы ведёте меня в верном направлении. А что мне делать дальше, имея ширину самой длинной строки. И вообще может получиться так, что каждая строка не помещается в одну линию. Тогда надо все их уменьшать. |
#4
|
|||
|
|||
![]() Цитата:
Цитата:
|
Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
mpdasa (02.06.2012)
|
#5
|
|||
|
|||
![]() Цитата:
Цитата:
Последний раз редактировалось mpdasa, 02.06.2012 в 19:41. |
#6
|
||||
|
||||
![]() Ширина окна в пикселях - Form.ClientWidth.
А как они соотносятся - это уже твое решение. В твоем случае, видимо, ширина строки должна быть меньше или равна ширине окна. jmp $ ; Happy End! The Cake Is A Lie. |
Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
mpdasa (02.06.2012)
|
#7
|
|||
|
|||
![]() Ширина окна должна быть равна ширине строки+отступы
|
Этот пользователь сказал Спасибо PS11011010 за это полезное сообщение: | ||
mpdasa (02.06.2012)
|
#8
|
|||
|
|||
![]() Цитата:
|
#9
|
||||
|
||||
![]() У него должен быть простой Width.
jmp $ ; Happy End! The Cake Is A Lie. |
Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
mpdasa (03.06.2012)
|
#10
|
||||
|
||||
![]() Width, просто Width
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard ![]() |
Этот пользователь сказал Спасибо cotseec за это полезное сообщение: | ||
mpdasa (03.06.2012)
|
#11
|
|||
|
|||
![]() Код:
Rect: TRect; SendMessage(RichEdit1.Handle,EM_GETRECT,0,LongInt(@Rect)); Rect.Top := Rect.Top+8; Rect.Left := Rect.Left+10; Rect.Right := Rect.Right-10; Rect.Bottom := Rect.Bottom-10; SendMessage(RichEdit1.Handle,EM_SETRECT,0,LongInt(@Rect)); RichEdit1.Refresh; |
#12
|
|||
|
|||
![]() Цитата:
Цитата:
Это при том, что у меня есть строка: Код:
var canvas: TCanvas; |
#13
|
|||
|
|||
![]() RichEdit.canvas и Canvas:TCanvas немного разные вещи
|