Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2009, 02:56   #1
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
Лампочка Вывод текста на метки

Очередная попытка "Красиво Написать" текст посредством вывода на массив
динамически-создаваемых меток. Но так простенько тут не получится. Была идея заранее определить макс к-о символов которе можно вывести на одну метку и делить исходный текст по длине (Length) но вдруг на слово попаду, "порвав" его по частям ?

Исходник и шрифт "Burlak".
Вложения
Тип файла: rar temp.rar (175.5 Кб, 11 просмотров)
Тип файла: rar burlak_.rar (47.2 Кб, 10 просмотров)
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.

Последний раз редактировалось HellMercenariess; 16.10.2009 в 04:37.
HellMercenariess вне форума Ответить с цитированием
Старый 16.10.2009, 08:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так а в чем проблема то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.10.2009, 09:24   #3
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Проблема дать на каждую метку столько текста сколько она покажет а не згамает.

В программе сейчас так: 1 линия Мемо = 1 метка, много текста невидно,
даже если отдать всю ширину экрана для метки, особенно-длинные строки
все-равно "за бортом" часть текста будет.
Если заранее определить сколько символов можно вывести и потом
давать линию на 2-3 метки боюсь розрыв на слове получить.

Да я понимаю что выбрал весьма трудный способ вывода текста, но эта задумка уже лет 5 периодически навещает меня, ведь уже почти получилось ! осталось только по ширине как то упорядочить.
Изображения
Тип файла: jpg TextOut.JPG (67.0 Кб, 133 просмотров)
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.
HellMercenariess вне форума Ответить с цитированием
Старый 16.10.2009, 10:18   #4
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

а ты не пробовал у метки свойство wordWarp в True ставить? и вместо многих меток создать одну и в неё всё вносить.?

Добавь на панель label3, у неё wordWarp в True, и autoSize в True.

Код:
procedure TForm1.Button1Click(Sender: TObject);
 var I,YArea:integer;
begin
  button1.Enabled:=False;
  for i:=1 to memo1.Lines.Count-1 do
  begin
    Label3.Caption:=Label3.Caption+Memo1.Lines.Strings[i];
    Label3.Font:=Label1.Font;
    {LText[i]:=TLabel.Create(self);
    LText[i].Parent:=Panel2;
    LText[i].Name:='MyText'+IntToStr(i);
    LText[i].Font:=Label1.Font;
    LText[i].Caption:=Memo1.Lines.Strings[i];
    LText[i].Left:=15;
    LText[i].Width:=350;
    LText[i].Top:=YArea; }
    YArea:=YArea+38;
    ListBox1.Items.Add('Pos is'+IntToStr(YArea));
  end;
end;
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.

Последний раз редактировалось IliaIT; 16.10.2009 в 10:20.
IliaIT вне форума Ответить с цитированием
Старый 16.10.2009, 11:35   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А обязательно лейблы юзать? Не проще поставить рич с бордером в ноне, цветом фона=цвет окружения и жирным шрифтом? (и еще онлиреад в труй)
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 16.10.2009, 11:46   #6
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

И Enabled в False чтобы текст не выделялся.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 16.10.2009, 14:30   #7
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

Есть ещё идея. так надо сохранить способ вывод и требуется разработать алгоритм вывода строки "так чтобы вмещалось", то делаем просто
1 берём желаемую строку
2 если она больше заданных символов или ширина метки после добавления в неё взятой строки больше "видимого" то бежим с конца строки и ищем пробелы, если влазит то к пункту 1.
3 проверяем на вмещаемость метки на экран после вставки строки без последнего слова.
4 запоминаем отрезанное и переходим к пункту 2.

вобщем вот так, код если надо выложу.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C|Вывод текста Troi666 Помощь студентам 4 09.05.2009 01:31
вывод текста Shkentik Общие вопросы Delphi 5 21.04.2009 23:29
си++ вывод текста на экран Sjava Помощь студентам 1 25.12.2008 20:03
Вывод текста(pascal) Dmtr Помощь студентам 1 29.05.2008 00:25
вывод текста в файл Индийское диско Общие вопросы Delphi 6 09.10.2007 12:43