Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

Какая функция отвечает за разбиение строк в TMemo .   Найти похожие ветки 

 
casper   (2004-03-06 21:31) [0]

Какая функция отвечает за перенос и разбиение строк в компоненте
TMemo при WordWrap:=true. Перерыл весь модуль STDCtrls.pas но ничего не нашёл.


 
Игорь Шевченко ©   (2004-03-06 21:43) [1]

procedure TCustomMemo.CreateParams(var Params: TCreateParams);
...
const
 WordWraps: array[Boolean] of DWORD = (0, ES_AUTOHSCROLL);
...


 
Sanek ©   (2004-03-06 21:49) [2]

procedure TCustomMemo.CreateParams(var Params: TCreateParams);
const
 Alignments: array[Boolean, TAlignment] of DWORD =
   ((ES_LEFT, ES_RIGHT, ES_CENTER),(ES_RIGHT, ES_LEFT, ES_CENTER));
 ScrollBar: array[TScrollStyle] of DWORD = (0, WS_HSCROLL, WS_VSCROLL,
   WS_HSCROLL or WS_VSCROLL);
 WordWraps: array[Boolean] of DWORD = (0, ES_AUTOHSCROLL);
begin
 inherited CreateParams(Params);
 with Params do
 begin
   Style := Style and not WordWraps[FWordWrap] or ES_MULTILINE or
     Alignments[UseRightToLeftAlignment, FAlignment] or ScrollBar[FScrollBars];
 end;
end;

Скорее всего вот это . .


 
Sanek ©   (2004-03-06 21:49) [3]

Извиняюсь за повторение . .


 
casper   (2004-03-06 21:57) [4]

Меня интересует алгоритм разбиения и переноса строк. Вышеупомянутая процедура его не реализует.


 
Юрий Зотов ©   (2004-03-06 23:31) [5]

> casper

Его реализует сама Windows. Точнее, функция API, которая вызывается из оконной функции контрола и отрисовывает текст. А здесь только устанавливаются нужные флаги в стиле окна - вот они-то и говорят, что текст надо отрисовывать с переносом по словам.

Посмотрите DrawText (флаг DT_WORDBREAK) и сообщения EM_GETWORDBREAKPROC, EM_SETWORDBREAKPROC.


 
casper   (2004-03-07 10:59) [6]

Спасибо я так и думал.



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

Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.035 c
4-1074052375
Sirus
2004-01-14 06:52
2004.03.28
Нужно событие типа AfterClose формы...


3-1077362396
YurikGl
2004-02-21 14:19
2004.03.28
Запрос на DataSet


6-1073307972
Qwert622
2004-01-05 16:06
2004.03.28
Web сервер.


4-1072359276
Kinderr
2003-12-25 16:34
2004.03.28
Ещё раз про трэй (только для профессионалов)


1-1079069880
scorpi
2004-03-12 08:38
2004.03.28
Определения типа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский