Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.06;
Скачать: CL | DM;

Вниз

TRichEdit   Найти похожие ветки 

 
NickBat   (2003-09-25 15:25) [0]

А есть ли возможность в стандартном TRichEdit изменять ширину интервала между абзацами?


 
NickBat   (2003-09-25 16:46) [1]

Во как! Ну хоть скажите, что нельзя. :)))


 
ZEE   (2003-09-25 16:52) [2]

>NickBat © (25.09.03 16:46) [1]
>Во как! Ну хоть скажите, что нельзя. :)))
можно - но вот как - не знаю.
например можно из Ворда вставить отформатированный текст с разным межстрочным расстоянием - РичЭдит отобразит как и в Ворде эти интервалы разными...


 
NickBat   (2003-09-25 17:24) [3]

Ну то, что отобразит верно это я знаю! :) А вот как изменить?

В Ворде за это отвечает свойство: ParagraphFormat.SpaceBefore

А вот как добраться до этого через RichEdit?


 
MBo   (2003-09-25 17:40) [4]

в структуре PARAFORMAT2 (нужен Rich Edit 2.0) есть dySpaceBefore.

Возможно, стоит попробовать записать RTF с отступом и посмотреть, какой тэг за это отвечает, и вставлять его руками.


 
NickBat   (2003-09-25 18:47) [5]

Спасибо MBo © (25.09.03 17:40) [4]
Уже, что-то.
Хотя если вставлять руками, то зачем мне TRichEdit?
:))


 
ЮЮ   (2003-09-26 02:32) [6]

> MBo © (25.09.03 17:40) [4]
> в структуре PARAFORMAT2 (нужен Rich Edit 2.0) есть dySpaceBefore.

Используй RxRichEdit, поддерживающий Rich Edit 2.0:

unit RxRichEd;
...
TParaFormat2 = record
...
dySpaceBefore: Longint; { Vertical spacing before paragraph }
dySpaceAfter: Longint; { Vertical spacing after paragraph }
...


 
ZEE   (2003-09-26 10:05) [7]

> ЮЮ © (26.09.03 02:32) [6]
> Используй RxRichEdit, поддерживающий Rich Edit 2.0:
>
> unit RxRichEd;
> ...
> TParaFormat2 = record
> ...
> dySpaceBefore: Longint; { Vertical spacing before
> paragraph }
> dySpaceAfter: Longint; { Vertical spacing after
> paragraph }

это понятно, все валяется в RichEdit.pas, а как это применить?
думается что-то типа такого:
var pf:TParaFormat2;
...
pf.dySpaceBefore:=20;
SendMessage(RichEdit1.Handle,EM_SETPARAFORMAT,PFM_SPACEBEFORE,lparam(@pf));

но похоже не совсем...


 
MBo   (2003-09-26 10:11) [8]

кроме задания dySpaceBefore:=20, надо еще в маске установить, что этот член структуры учитывать


 
ZEE   (2003-09-26 10:20) [9]

хорошо, подправляем так:
var pf:TParaFormat2;
...
pf.dwMask:=PFM_SPACEBEFORE;
pf.dySpaceBefore:=20;
SendMessage(RichEdit1.Handle,EM_SETPARAFORMAT,PFM_SPACEBEFORE,lparam(@pf));

- тот же результат - т.е. никакого результата...


 
MBo   (2003-09-26 10:56) [10]

procedure TForm1.Button2Click(Sender: TObject);
var pf:TParaFormat2;
begin
richedit1.SelStart:=20;
richedit1.Sellength:=20;
FillChar( pf, sizeof(pf), 0);
pf.cbSize:=SizeOf(pf);
pf.dwMask:=PFM_SPACEBEFORE;
pf.dySpaceBefore:=100;// Twips!
SendMessage(RichEdit1.Handle,EM_SETPARAFORMAT,0,lparam(@pf));
end;


 
ZEE   (2003-09-26 11:01) [11]

ну FillChar( pf, sizeof(pf), 0); - это у меня было и так, а селекшн я руками делал - все одно не работает...
MBo © а код из [10] рабочий, проверенный?


 
MBo   (2003-09-26 11:04) [12]

да, проверен.

D5
обычный richedit
WinXP


 
ZEE   (2003-09-26 11:06) [13]

у меня D6 + Win2K + TRichEdit(тоже обычный) - и ничего, кстати в обрати внимание на тему - [D6], но я не думаю что в шестерке это надо по-другому делать... грабли где-то в другом месте...


 
MBo   (2003-09-26 11:17) [14]

для чистоты эксперимента: пустой рич, после выполнения расстояние перед двойками и тройками увеличено.

procedure TForm1.Button2Click(Sender: TObject);
var pf:TParaFormat2;
var i:integer;
begin
for i:=0 to 5 do
richedit1.lines.add(StringOfChar(Chr($30+i),8));
richedit1.SelStart:=20;
richedit1.Sellength:=20;
FillChar( pf, sizeof(pf), 0);
pf.cbSize:=SizeOf(pf);
pf.dwMask:=PFM_SPACEBEFORE;
pf.dySpaceBefore:=200;//Twips!
SendMessage(RichEdit1.Handle,EM_SETPARAFORMAT,0,lparam(@pf));
end;


 
ZEE   (2003-09-26 11:35) [15]

ок, получилось - все дело было в
pf.cbSize:=SizeOf(pf); - точнее в отсутствии этой строки



Страницы: 1 вся ветка

Текущий архив: 2003.10.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-18327
Dark Elf
2003-09-23 19:02
2003.10.06
Свойство Options в StringGrid


4-18678
Pauk
2003-07-31 16:19
2003.10.06
Popup


1-18318
SergP
2003-09-23 17:08
2003.10.06
Можно ли делать отчет (TQuickRep) из данных массива?


14-18595
panov
2003-09-17 18:59
2003.10.06
Ну что, бета-тестер... слабо теперь?


14-18598
Vlad Oshin
2003-09-11 18:35
2003.10.06
к ветке Какой вы политической ориентации?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский