|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.10.2007, 09:45 | #1 |
Пользователь Подтвердите свой е-майл
Регистрация: 24.10.2007
Сообщений: 36
|
Как же нарисовать линию на форме? (Вопрос новичка)
Я новичёк
Просмотрел несколько готовых примеров отрисовки графики, почитал инфу, но так и не разобрался до конца. Разъясните пожалуйста в деталях (кому не жалко времени), как нарисовать прямую горизонтальную линию заданной длины, ширины и цвета на форме. С самого начала, как только запустил Delphi и передо мной пустая форма. |
28.10.2007, 10:08 | #2 |
Регистрация: 27.10.2007
Сообщений: 3
|
Самое простое и быстрое это положить на форму Panel, убрать его Caption, раздвинуть как надо и задать цвет (Color).
Можно также вместо Panel использовать Label. |
28.10.2007, 10:13 | #3 |
Пользователь Подтвердите свой е-майл
Регистрация: 24.10.2007
Сообщений: 36
|
Мне нужны прямые горизонтальные линии, параметры которых я буду брать потом из переменных.
|
28.10.2007, 10:14 | #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); |
28.10.2007, 10:18 | #5 |
Регистрация: 27.10.2007
Сообщений: 3
|
Self.Panel1.Width:=110;
Self.Panel1.Height:=2; Self.Panel1.Color:=clRed; |
28.10.2007, 10:25 | #6 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Код:
Но первый метод предпочтительнее, поскольку вы можете рисовать линии не только горизонтальные, но и под любым углом, задавая начало и конец линии. |
|
28.10.2007, 10:26 | #7 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
YERokez, тогда уж приведи пример, как программно создавать новые панели. Заранее ведь неизвестно сколько будет линий
|
28.10.2007, 10:30 | #8 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
mihali4, если рисовать прямо на форме, то после перекрытия окна программы другим окном, все что нарисовали пропадет, так что лучше в Image
|
28.10.2007, 10:45 | #9 |
Регистрация: 27.10.2007
Сообщений: 3
|
_Dmitry, я понял, что программно надо не создавать линию, а управлять ее параметрами.
А что, TImage можно программно ложить на форму? Я не пробовал. |
28.10.2007, 10:48 | #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 |