|
Вопрос # 1 901/ вопрос открыт / |
|
О Мудрейшие из Мудрейших! Как мне нарисовать в форме (или в Image) графический примитив: прямую, прямоугольник или что-то в этом роде?
Зарание прошу прощения за такой тупой вопрос!
Примечание #1 (14 сентября 2008, 20:11): Дело в том,что прописывая графические примитивы(линия, прямоугольник и тп) призапуске программы они не отображаются!
 |
Вопрос задал: Ученый (статус: 8-ой класс)
Вопрос отправлен: 14 сентября 2008, 19:42
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Аксион
Здравствуйте, Ученый!
У form, image и некоторых других компонентов делфи есть свойство canvas, с помощью него можно нарисовать всё что угодно, вот несколько примеров:
-----------------
.Canvas.Pen.Color:=clred; //устанавливает цвет кисти на крассный
-----------------
.Canvas.MoveTo(5,5);
.Canvas.LineTo(15,15); //эти две строи рисуют линию из точек с координатами (5,5) в (15,15)
-----------------
.Canvas.Rectangle(х,у,х2,у2); //рисует квадрат, координаты (х,у) и (х2,у2) указывают диагоняль квадрата
----------------
.Canvas.Pixels(x,y); // рисует точку с координатами (х,у)
-----------------
Так же у канваса есть свойство Brush, которое устанавливает тип и цвет заливки
.Canvas.Brush.collor:=clred //цвет заливки будет красным
.Canvas.Brush.stule:=bsDiagCross //заливка будет "крестовой"
Ну, а дальше сами разберётесь...
 |
Ответ отправил: Аксион (статус: 4-ый класс)
Время отправки: 14 сентября 2008, 20:13
Оценка за ответ: 4
|
Ответ #2. Отвечает эксперт: ANBsoft
Здравствуйте, Ученый!
В зависимости от того что Вам нужно, можно использовать компонент TShape, или рисовать по канве, как описал предыдущий оратор.
Дополню следующее, если Вы рисуете на канве формы, то это будет видно до следующей перерисовки формы, поэтому для того чтобы отрисованное было видно всегда, обрабатывайте событие OnPain и отрисовывайте в нем.
Успехов.
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 14 сентября 2008, 20:25
Оценка за ответ: 2
|
Мини-форум вопроса
Всего сообщений: 24; последнее сообщение — 15 сентября 2008, 14:30; участников в обсуждении: 5.
Страницы: [« Предыдущая] [1] [2]
|
Вадим К (статус: Академик), 14 сентября 2008, 22:04 [#21]:
Кажеться я знаю. строку
procedure FormOnPaint(Sender: TObject);
вы пишете сами?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Аксион (статус: 4-ый класс), 14 сентября 2008, 22:27 [#22]:
Чтобы пописать событие в OnPain выбирите форму, на objectinspector'e (там где свйства компонента) выберите вкладку Events (сверху) найдите строчку OnPain кликните 2 раза (по пустой строчке справа от надписи OnPain) и впишите событие....
|
|
Dron (статус: Студент), 15 сентября 2008, 08:30 [#23]:
OnPaint. Можно было запустить Delphi и проверить...
С уважением.
|
|
Аксион (статус: 4-ый класс), 15 сентября 2008, 14:30 [#24]:
ну забыл буковку :\
|
Страницы: [« Предыдущая] [1] [2]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|