![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь Подтвердите свой е-майл
Регистрация: 24.10.2007
Сообщений: 36
|
![]()
Я новичёк
Просмотрел несколько готовых примеров отрисовки графики, почитал инфу, но так и не разобрался до конца. Разъясните пожалуйста в деталях (кому не жалко времени), как нарисовать прямую горизонтальную линию заданной длины, ширины и цвета на форме. С самого начала, как только запустил Delphi и передо мной пустая форма. |
![]() |
![]() |
![]() |
#2 |
Регистрация: 27.10.2007
Сообщений: 3
|
![]()
Самое простое и быстрое это положить на форму Panel, убрать его Caption, раздвинуть как надо и задать цвет (Color).
Можно также вместо Panel использовать Label. |
![]() |
![]() |
![]() |
#3 |
Пользователь Подтвердите свой е-майл
Регистрация: 24.10.2007
Сообщений: 36
|
![]()
Мне нужны прямые горизонтальные линии, параметры которых я буду брать потом из переменных.
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Для рисования есть 4 класса:
TFont - шрифт, TPen - перо для вычерчивания линий, TBrush - штриховка, TCanvas - холст для рисования, который инкапсулирует в себя первые 3 класса. Сначала нужно определиться где рисовать, рекомендую компонент Image. Кидаем его на форму и рисуем: //меняем цвет линии Image1.Canvas.Pen.Color:=clRed; //меняем толщину линии Image1.Canvas.Pen.Width:=3; //чертим линию от точки x=10, y=10 до точки x=110, y=10 Image1.Canvas.MoveTo(10,10); Image1.Canvas.LineTo(110,10); |
![]() |
![]() |
![]() |
#5 |
Регистрация: 27.10.2007
Сообщений: 3
|
![]()
Self.Panel1.Width:=110;
Self.Panel1.Height:=2; Self.Panel1.Color:=clRed; |
![]() |
![]() |
![]() |
#6 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
Код:
Но первый метод предпочтительнее, поскольку вы можете рисовать линии не только горизонтальные, но и под любым углом, задавая начало и конец линии. |
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
YERokez, тогда уж приведи пример, как программно создавать новые панели. Заранее ведь неизвестно сколько будет линий
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
mihali4, если рисовать прямо на форме, то после перекрытия окна программы другим окном, все что нарисовали пропадет, так что лучше в Image
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 27.10.2007
Сообщений: 3
|
![]()
_Dmitry, я понял, что программно надо не создавать линию, а управлять ее параметрами.
А что, TImage можно программно ложить на форму? Я не пробовал. |
![]() |
![]() |
![]() |
#10 | |
Пользователь Подтвердите свой е-майл
Регистрация: 24.10.2007
Сообщений: 36
|
![]()
Попробовал Image - в моём случае подошло.
Спасибо. Цитата:
![]() |
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нарисовать на координатной площади линию a*x+b*y+c=0 | НУБ!!! | Общие вопросы Delphi | 4 | 13.05.2008 22:48 |
Задача на Ломанную Линию | SpLaT | Помощь студентам | 1 | 09.05.2008 19:18 |
Нарисовать линию под указанным градусом | nikleb | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 06.02.2008 15:22 |
Вопрос (новичка) по переменным. | grey | Помощь студентам | 5 | 03.11.2007 17:25 |
Не все готовые исходники компилируются (Вопрос новичка) | grey | Помощь студентам | 9 | 28.10.2007 19:18 |