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

Вниз

Вывод очень длинной строки   Найти похожие ветки 

 
Игорь_Залозных   (2009-01-12 18:45) [0]

Здраствуйте.
Скажите какой функцией вывести очень длинную строку без пробелов, чтобы были переносы на следующие строки - аналог Word или WordPad, а то функция DrawText не справляется с этой задачей (не используя эллипсические флаги).


 
Leonid Troyanovsky ©   (2009-01-12 19:10) [1]


> Игорь_Залозных   (12.01.09 18:45)

> а то функция DrawText не справляется с этой задачей

Докажи.

--
Regards, LVT.


 
Игорь_Залозных   (2009-01-12 19:18) [2]

s:="1111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111";
DrawText(ACanvas.Handle,PChar(s),strlen(PChar(s)),r,DT_LEFT or DT_WORDBREAK or DT_EXPANDTABS or DT_EXTERNALLEADING);
границы r - аналог границ Word на странице.
Например,
r.left := 100;
r.right:= 1100;
r.top:=100;
r.bottom:=1000;
Текст не поещается в заданный диапазон, и располпгается вне его, а нужно, чтобы строка, если не вмещается часть, переносились на другие строки.
Ответ однозначный и говорит о том, что данная функция для данной проблемы не подходит.


 
Smile   (2009-01-12 19:22) [3]

А мне другое интересно. Что означает выражение "вывести очень длинную строку"?
Куда вывести, в какой компонент (контрол)?
Для меня просто загадка:)


 
Игорь_Залозных   (2009-01-12 19:36) [4]

Да тупая докадка.
Ясный пень, что все идет через HDC.


 
Leonid Troyanovsky ©   (2009-01-12 19:40) [5]


> Игорь_Залозных   (12.01.09 19:18) [2]

> Ответ однозначный и говорит о том, что данная функция для
> данной проблемы не подходит.


procedure TForm1.Button1Click(Sender: TObject);
var
 s:String;
 r: TRect;
begin
 r.left := 0;
 r.right := 50;
 r.top:= 0;
 r.bottom :=700;
 s:="1111111111111111111111111111111111111111111111111111111111111111111111111111  11111111111111111111111111111111111111111111111111111111111111111111111111111111  11111111111111111111111111111111111111111111111111111111111";
 DrawText(Canvas.Handle,PChar(s),strlen(PChar(s)),r, DT_EDITCONTROL or DT_WORDBREAK );
end;

--
Regards, LVT.


 
Smile   (2009-01-12 19:47) [6]

Ну и тогда в догонку (конечно предварительно извиняюсь), кому может быть понадобиться такая "визуальная" строка. Не лучше ли ее "уложить" в буфер или еще куда-либо?


 
Юрий Зотов ©   (2009-01-12 19:49) [7]

Игорь, флаг DT_WORDBREAK разрывает ПО словам, а у Вас ОДНО слово. Нечего ему разрывать - вот он и не разрывает.


 
Игорь_Залозных   (2009-01-12 19:49) [8]

Leonid Troyanovsky - большое спасибо.
Что-то данного флага у меня в инфе описано не было.


 
Игорь_Залозных   (2009-01-12 19:49) [9]

Тема закрыта.



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
15-1256487519
Kolan
2009-10-25 19:18
2009.12.27
Статья «Обобщённое программирование(generics) в Delphi 2009 ...»


3-1232472889
RustB
2009-01-20 20:34
2009.12.27
ADO, access, и как прочитать результат запроса.


3-1232343690
pavel_guzhanov
2009-01-19 08:41
2009.12.27
Можно ли проиндексировать поле в представлении?


2-1257922755
stas
2009-11-11 09:59
2009.12.27
TWEBBrowser скрыть ошибки


2-1257779059
Jaroslight
2009-11-09 18:04
2009.12.27
Среднее значение показателей типа TTime





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