|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Используется библиотека HTML Component Library . Строится кусочек форматированного текста, со стилями и пр. Отображается на панели он правильно. Вопрос такой, как у THtDocument получить размеры так, чтобы "всё влезло"? Очевидный заход Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
не работает, контент обрезается по высоте. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 13:11 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Попробуй здесь https://www.sql.ru/forum/996417-1/html-v-komponentah спросить ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 15:27 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Забавно, но именно такой же вопрос с этими же компонентами сегодня меня занимает в одном из проектов) Я временно решил обойтись стандартными системными хинтами - они рисуются поверх приложения, поэтому ограничения канваса HtPanel для него не указ. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 16:35 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Рассмотрите пример HCLDemo, который идет с поставкой. Там в первой вкладке Label есть пример хинта, который способен выходить за пределы канвы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 16:40 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Из справки HTML Component Library.docx: автор Changing HtBalloonHint appearance You could use any HTML/CSS in hint. For example, to change hint background use title="<style>body {background: silver}</style>Hint text" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 16:42 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Michael Longneck, FDocument.CalcSize(Желаемая ширина); Result.Height := FDocument.ContentHeight; Понятие собственной ширины в HTML по сути отсутствует, т.к. некоторые элементы рассчитывают свой размер исходя из ширины и/или высоты ViewPort. Поэтому можно посчитать только минимальную ширину либо ширину при заданном окне. Вообще лучше вопросы задавать в почту, она указана на сайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2021, 17:24 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
В итоге задача решилась так - поскольку хинт больше экрана нее имеет смысла, то задаётся ViewPort на размеры выдаваемые CalcSize, но не больше экрана, рисуется в буфер такого размера. А потом этот буфер, поскольку цвет фона задан, обрезается снизу и справа до размеров контента. Ну и полученный размер используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 22:53 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Michael Longneck, Я же вроде отвечел ранее. Если в CalcSize передать большую ширину, то по Doc.BodyElement.ContentWidth можно узнать реальную ширину контента, если передать 1 пиксель то покажет минимально возможную ширину. А после повторного вызова уже с нужной шириной, определяется высота. Вместо буфера можно для body задать overflow:hidden ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 23:00 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Про Doc.BodyElement.ContentWidth в этой теме не было речи, только про Doc.ContentWidth ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 23:04 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Michael Longneck, Это актуально для последних версий, сейчас Doc.ContentWidth может показывать ширину body если есть html элемент. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 23:17 |
|
HTMLComp Хинт из HTML
|
|||
---|---|---|---|
#18+
Ну в итоге у меня получилось вашим способом, да, через BodyElement.ContentWidth + overflow: hidden. Буфер я всё равно оставил, кладу туда данные в CalcHintRect и в Paint показываю готовое. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 23:24 |
|
|
start [/forum/topic.php?fid=58&msg=40107184&tid=2036934]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 429ms |
0 / 0 |