Вверх ↑
Главный модератор
Ответов: 2997
Рейтинг: 395
#1: 2017-11-09 05:01:10 ЛС | профиль | цитата
Отличный пример рисовки \elements\CNET\Example\graphics\LineDrawer.sha.
Для рисования на форме правильнее использовать Graphics, создаваемый событием onPaint:
Add(EntryPoint,2953706,21,105)
{
Left=20
Top=105
Point(onPaint)
link(onPaint,9:doGetMethod,[])
}
Add(Graphics,4,182,119)
{
Name="Graph"
}
Add(DrawLine,7,182,217)
{
Graphics=Graph
Pen=Pen
X1="10"
Y1="10"
X2="20"
Y2="30"
link(Graphics,4:Graphics,[])
link(Pen,8:Pen,[])
}
Add(Pen,8,189,168)
{
Name="Pen"
Brush=br
}
Add(PaintEventArgs,9,84,119)
{
link(onGraphics,10:doEvent1,[])
}
Add(Hub,10,140,119)
{
link(onEvent1,4:doGraphics,[])
link(onEvent2,7:doDrawLine,[(168,132)(168,223)])
}
Add(SolidBrush,11,238,168)
{
Name="br"
Color=255
}
Если Вы хотите рисовать на других объектах, то Graphics надо создавать с их помощью:
Add(EntryPoint,2953706,21,105)
{
Left=20
Top=105
}
Add(Button,3,161,336)
{
Left=30
Top=15
Point(onClick)
link(onClick,7:doDrawLine,[])
}
Add(Graphics,4,224,238)
{
Name="Graph"
Control=PicBox
Constructor=1
}
Add(PictureBox,6,224,175)
{
Left=34
Top=57
Width=147
Height=146
Name="PicBox"
BorderStyle=2
}
Add(DrawLine,7,224,336)
{
Graphics=Graph
Pen=Pen
X1="10"
Y1="10"
X2="20"
Y2="30"
link(Graphics,4:Graphics,[])
link(Pen,8:Pen,[])
}
Add(Pen,8,231,287)
{
Name="Pen"
}
Только в этом случае надо понимать, что нарисованное при перерисовке формы не сохранится. Надо каждый раз его восстанавливать и это опять нас возвращает к первой схеме этого поста.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Редактировалось 2 раз(а), последний 2017-11-09 05:02:51