Split text in TRichEdit
10 отговора
100 прегледа
Split text in TRichEdit
Здравейте, следния проблем ме мъчи от седмици:
имам 2 стринга и искам да ги разположа в 2-та края (Left, Right) на компонентата TRichEdit (или TRxRichEdit), но незнам как.
Ако някой каже ще му бъда много благодарен
имам 2 стринга и искам да ги разположа в 2-та края (Left, Right) на компонентата TRichEdit (или TRxRichEdit), но незнам как.
Ако някой каже ще му бъда много благодарен
Re: Split text in TRichEdit
На един ред ли? Ако са две думи е лесно (justified), но за низове, ще трябва да ползваш таблица, а таблиците с Rich-формата са кофти работа ...
Mixy
Mixy
Re: Split text in TRichEdit
Само като идея - ти си знаеш шрифта на ричедита. Опитай да добавяш интервали между двата стринга, докато ширината на текста не достигне до желаната от тебе (имаш функция TextWidth). Това само при условие, че ричедита има фиксирани размери. Иначе става неприятно.
Re: re
Най-забавния вариант е с таблица, както казаха по-горе. Разбира се, нужен е малко тарикатлък.
1) Правиш един RTF със предварително известни два низа, сложени в таблица и съответно ляво и дясно подравнени
2) Кода на RTF-а се взима в програмата, заменят се двата низа с тези които ти трябват и кода отново се подава
чети и дишай по-леко
1) Правиш един RTF със предварително известни два низа, сложени в таблица и съответно ляво и дясно подравнени
2) Кода на RTF-а се взима в програмата, заменят се двата низа с тези които ти трябват и кода отново се подава
чети и дишай по-леко
Re: Split text in TRichEdit
Не става.
Може да се зададе дясна табулация, във Word е ОК, във Wordpad и RichEdit1 не работи (Win 2K).
Във файла (посл 4 реда от поста) '123' (трябва да) е вляво, а '456' вдясно.
Друг проблемът е, че табулацията (\tx1440) се задава в 1/1440 от инча.
RichEdit1.Lines.LoadFromFile('doc1.rtf');
{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033
{\fonttbl{\f0\froman\fprq2\fcharset204
{\*\fname Times New Roman;}Times New Roman CYR;}}
\viewkind4\uc1\pard\tqr\tx1440\f0\fs24 123\tab 456\par}
Може да се зададе дясна табулация, във Word е ОК, във Wordpad и RichEdit1 не работи (Win 2K).
Във файла (посл 4 реда от поста) '123' (трябва да) е вляво, а '456' вдясно.
Друг проблемът е, че табулацията (\tx1440) се задава в 1/1440 от инча.
RichEdit1.Lines.LoadFromFile('doc1.rtf');
{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033
{\fonttbl{\f0\froman\fprq2\fcharset204
{\*\fname Times New Roman;}Times New Roman CYR;}}
\viewkind4\uc1\pard\tqr\tx1440\f0\fs24 123\tab 456\par}
Re: Split text in TRichEdit
Докато пиша, излезли и други мнения.
И с таблица май не става, защото дясното подравняване не се разпознава във Wordpad и RichEdit.
И с таблица май не става, защото дясното подравняване не се разпознава във Wordpad и RichEdit.
Re: Split text in TRichEdit
Разпознава си се екстра, но таблиците не се поддържат напълно и има проблеми с вмъкването и изобразяването на препокриващи се редове и колони, margins, paddings, colors и т.н. То, ако таблиците вървяха безпроблемно, кой ще им купува Word-a на M$ ...
А питащия, ако може да мине на HTML/XML или нешо подобно, може би ще стане по-лесно.
Mixy
А питащия, ако може да мине на HTML/XML или нешо подобно, може би ще стане по-лесно.
Mixy
Re: Split text in TRichEdit
Защо не разположиш два RichEdit един до друг, в левия слагаш единия стринг Alignment=taLeftJustify, а в десния Alignment=taRightJustify. Даже ако зададеш BorderStyle=None, няма да разбереш къде е границата между тях (Разбира се ако не пречи на нещо друго).
Re: Split text in TRichEdit
Тея 2 стринга са част от текст и ако го направя по този начин ще стане много по сложно