|
|
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Элементарщина, но чё-то затупил. Хочу, чтобы memo само расширялось под содержимое. Как отследить, что текст вмещается? Либо, как вариант, что скроллбар имеет полоску прокрутки? Поиск ничего путного не дал. Надеялся, что Scrollbars := ssAutoVertical будет следить за наличием скроллбара - фиг там, он всегда присутствует. Range у скроллбаров обсчитывается независимо от того, есть полоска или нет. Всякие виндовые WM_* трюки мимо кассы - мультиплатформа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 19:18 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
memo.Align := alClient; ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 23:15 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
а может 1) невидимый TextBox (или как он там) с AutoSize=true, если есть такое свойство, конечно 2) записать туда текст 3) вызвать Application.ProcessMessages 4) определить Height / Width ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 02:00 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
другой способ нашел, через Label Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 02:38 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Прикинуть, какой требуется RECT для текста, функцией canvas.textrect с опциями tfCalcRect,tfWordBreak и тд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 03:09 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
V.BorzovПрикинуть, какой требуется RECT для текста, функцией canvas.textrect с опциями tfCalcRect,tfWordBreak и тд? +1 При этом границы Memo привязать к краям формы и увеличивать ее высоту по мере увеличения высоты текста в Memo. Гарантированно будет работать на винде, но на линуксе могут быть проблемы в некоторых ОСях при уменьшении высоты формы с большей величины на меньшую (у меня такие траблы наблюдались в Дебиане 7-9 c GTK2, на Deb 10 GTK3 - надо будет проверить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 09:55 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Gatormemo.Align := alClient; ? Это никак не поможет. Кроик Семён, мда, варианты оригинальные, видимо я давно не сталкивался с вынужденной проктостоматологией Вариант с Canvas в итоге кое-как работает, хотя пришлось одалживать его у формы (до сих пор для меня загадка, по какой логике одним контролам выделили канвас, а другим шиш с маслом) и надеяться, что шрифты совпадают. Ну и добавить эмпирический интерлиньяж тупо константой, т.к. откуда его взять штатно я не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 10:39 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Василий 2Всякие виндовые WM_* трюки мимо кассы - мультиплатформа. зависит от.... Подключи в uses LCLType, LCLIntf, LMessages - будешь приятно удивлен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 10:46 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Василий 2Вариант с Canvas в итоге кое-как работает, хотя пришлось одалживать его у формы... и надеяться, что шрифты совпадают. где ты там нашел трудности? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:01 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
По сабжу: RTFM EM_LINEFROMCHAR ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:03 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам> RTFM EM_LINEFROMCHAR ? У него Лазарь на линухе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:09 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Василий 2Вариант с Canvas в итоге кое-как работает, хотя пришлось одалживать его у формы (до сих пор для меня загадка, по какой логике одним контролам выделили канвас, а другим шиш с маслом) и надеяться, что шрифты совпадают А сделать свой канвас с нужным шрифтом в Лазаре нельзя?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:09 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Василий 2Gatormemo.Align := alClient; ? Это никак не поможет.Это как бы намёк был. Есть же там Ancors, вот и привяжись к ним. Например, на панельке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:12 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Gator> У него ... на линухе А, тогда сорри. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 12:31 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Докгде ты там нашел трудности? :) Не трудности, а странное решение :) хотя, судя по всему, иначе никак. Забавно, что DrawText со всеми флагами - кросс-платформа. Но у тебя опять же расчет на то, что шрифт мемо = шрифту формы. alekcvpА сделать свой канвас с нужным шрифтом в Лазаре нельзя?.. Наверняка можно, но не хотелось целую систему придумывать из-за такой мелочи... Гаджимурадов РустамПо сабжу: RTFM EM_LINEFROMCHAR ? RichEdit же? Там-то и скроллбары нормально работают, можно тупо расширять контрол, пока скролл не исчезнет. GatorЭто как бы намёк был. Есть же там Ancors, вот и привяжись к ним. Например, на панельке Как-то не вкуриваю. Как anchors помогут расширить контрол, чтобы он вмещал текст без прокрутки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 14:36 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Василий 2Но у тебя опять же расчет на то, что шрифт мемо = шрифту формы. хорошо, вот тебе с разными шрифтами Но у такого подхода один минус - встроенные скроллы у TMemo работать не будут, так что все придется рисаовать ручками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 15:06 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
ДокНо у такого подхода один минус а, нет. Я забыл про WordWrap :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 15:10 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Василий 2> RichEdit же? Не понял вопроса. Он работает и с Memo. Другое дело, что у вас Linux и как там оно (аналоги и пр.) лично мне искать лень. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 16:18 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Всё можно сделать без кода. На панель бросить лейбл и мемо. У мемо выставить привязки в размерам панели, у панели выставить автосайз. Вордврап у мемо и лейбла привести к одиному значению. У лейбла выставить бордерспейсинг фраунд - 2 (вообще, бордерспейсинг можно потюнить). Потом в событии ОнЧендж присваивать лейблу содержимое мемо + sLineBreak; Это всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 17:10 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамВасилий 2> RichEdit же? Не понял вопроса. Он работает и с Memo. Другое дело, что у вас Linux и как там оно (аналоги и пр.) лично мне искать лень. В MSDN отнесли к richedit, на мемо не проверял, вот и озадачился. Kazantsev Alexey, оригинально) Док, ты почти пересоздал мемо, остановись)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 17:32 |
|
||
|
Lazarus и автовысота TMemo
|
|||
|---|---|---|---|
|
#18+
Василий 2Док, ты почти пересоздал мемо, остановись)). ты бы лучше спасибо сказал, я тут за тебя ненароком всю работ сделал, лентяй Kazantsev Alexey, ну ты кудесник ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2019, 18:51 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=67&tid=2039231]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 370ms |

| 0 / 0 |
