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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2009, 11:33   #1
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию перенос текста на канве

Добрый день!
Возник такой вопрос: На канве имагера я текст вывожу, далее размер имагера под размер текста выставляю. Вот...
Теперь хочу сделать чтобы на этой самой канве имагера можно было делать перенос текстовой строки (ну типа как энтер нажал и сновой строчки печатай). Возможно ли такое сотворить и если да, то как? Подскажите, ув. программисты.
varelik вне форума Ответить с цитированием
Старый 15.09.2009, 11:49   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну делай + координатам(высота текста+расстояние между строками) и все
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.09.2009, 11:58   #3
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

Ну спасибо конечно, только не совсем понятно. Выложите, пжлста код для примера, если не сложно)
varelik вне форума Ответить с цитированием
Старый 15.09.2009, 12:01   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
varelik
А не проще сделать картинку фоном для TMemo?
Тут уже обсуждалось такое.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2009, 12:07   #5
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

Stilet,
вобщето не хотелось бы, именно на канву надо.
но ради интереса- ссылочку можно глянуть?
varelik вне форума Ответить с цитированием
Старый 15.09.2009, 12:12   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

код зависит от вашего алгоритма рисования
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.09.2009, 12:49   #7
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

Пепел Феникса,
алгоритм (пишу по памяти) примерно следующий:
изначально создан timage1 со свойством tekst вот так:
type timage1=class(timage)
private
ftekst:string;
и т.д.
далее вывод текста на имагере:
timage1(new).canvas.textout(0,0,tim age1(new).tekst);
далее по щелчку по кнопке:
timage1(new).tekst:=form5.edit1.tek st;
и текст забитый в edit1 - на канве компонента
varelik вне форума Ответить с цитированием
Старый 15.09.2009, 13:09   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так при переносе строк делайте
на Y координату Image1.Canvas.Font.Height+между строками пару пикселов
то есть допустим вторая строка
timage1(new).canvas.textout(0,Image 1.Canvas.Font.Height+2,tim age1(new).tekst)
для многострочия вообще...нужен TStringList
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.09.2009, 13:29   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но ради интереса- ссылочку можно глянуть?
Ну а че нет?
http://www.programmersforum.ru/showt...9+%CC%E5%EC%EE

Есть и другие темы, но лень-матушка искать
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2009, 15:22   #10
varelik
Форумчанин
 
Регистрация: 21.08.2009
Сообщений: 140
По умолчанию

Stilet,
глянул- всеже чтото не то.

Пепел Феникса,
ну типа того, спс за идею.
вобщем так сделал:
timage1(new).canvas.textout(0,i*20, form5.memo1.lines.strings[i]);
где i- количество строк, а вместо edit1 использую memo1, плюс еще в проге пару строчек поменял.
в итоге получилось, но появились другие нюансы- буду дальше пока самостоятельно юзать.
varelik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос текста с form1 на form2 include Общие вопросы Delphi 2 27.08.2009 19:54
Перенос текста soonner JavaScript, Ajax 5 06.05.2009 19:13
Перенос текста на следующую строку в TEdit uraura Общие вопросы Delphi 3 17.04.2009 18:13
Перенос текста из Excel в Word Aleksandra Microsoft Office Word 3 23.09.2008 08:46
TEdit - перенос текста, SetFocus Аббат Помощь студентам 10 23.04.2007 16:47