Gitarist писал(а):
ну а также пробник где можно порисовать дуги и ее область.Попробуйте измененный элемент Img_Arc. При включении свойства UseAngle = True. Point3 будет задавать начало дуги, а Point4 конец дуги в градусах.
Зайдите в эту тему: Доработка элементов ГрафикаРисование
Скачайте архив с элементами в первом посте (testelements.zip).
Замените файл hiImg_Arc.pas в папке \Elements\delphi\code\ и файл Img_Arc.ini в папке \Elements\delphi\conf\.
Оригинальные файлы скопируйте для последующего восстановления.
Перезапустите HiAsm.
Схема для тестирования
Add(MainForm,2953706,161,280)
{
Width=362
Height=502
Position=1
}
Add(Img_Arc,8255685,434,532)
{
Point2AsOffset=0
Size=3
UseAngle=1
Direction=1
Point(Point1)
Point(Point2)
Point(Point3)
Point(Point4)
link(Bitmap,2330156:Var2,[])
link(Point1,2810144:Var2,[])
link(Point2,12373068:Var2,[])
link(Point3,11759686:Position,[])
link(Point4,8851225:Position,[])
}
Add(PaintBox,880944,434,105)
{
Left=20
Top=120
Width=300
Height=310
Color=16777215
ClearBeforeDraw=0
link(onBeforeDraw,15251476:doDraw,[(478,111)(478,96)(332,96)(332,538)])
}
Add(Edit,5113297,448,154)
{
Left=100
Top=20
Text="50"
link(onChange,8919054:doWork2,[])
}
Add(Edit,9314071,455,189)
{
Left=100
Top=40
Text="50"
link(onChange,12839978:doWork2,[])
}
Add(Edit,6904018,455,273)
{
Left=170
Top=20
Text="100"
link(onChange,528179:doWork2,[])
}
Add(Edit,13102730,462,308)
{
Left=170
Top=40
Text="100"
link(onChange,13288155:doWork2,[])
}
Add(PointXY,2063720,448,238)
{
link(X,5113297:Text,[])
link(Y,9314071:Text,[])
}
Add(PointXY,1671955,455,350)
{
link(X,6904018:Text,[])
link(Y,13102730:Text,[])
}
Add(HubEx,8919054,703,154)
{
Angle=3
link(onEvent,880944:doRefresh,[(707,146)(422,146)(422,111)])
}
Add(HubEx,12839978,703,189)
{
Angle=3
link(onEvent,8919054:doWork3,[])
}
Add(HubEx,528179,703,273)
{
Angle=3
link(onEvent,12839978:doWork3,[])
}
Add(HubEx,13288155,703,308)
{
Angle=3
link(onEvent,528179:doWork3,[])
}
Add(Img_Rectangle,15251476,385,532)
{
Point2AsOffset=0
LineStyle=2
Point(Point1)
Point(Point2)
link(onDraw,8255685:doDraw,[])
link(Bitmap,2330156:Var1,[(391,495)])
link(Point1,2810144:Var1,[(405,502)])
link(Point2,12373068:Var1,[(412,509)])
}
Add(GetDataEx,2330156,434,490)
{
link(Data,880944:Bitmap,[])
}
Add(GetDataEx,12373068,455,504)
{
link(Data,1671955:Point,[])
}
Add(GetDataEx,2810144,448,497)
{
link(Data,2063720:Point,[])
}
Add(ScrollBar,11759686,462,406)
{
Left=30
Top=70
Width=260
Max=359
link(onPosition,12145677:doEvent1,[])
}
Add(ScrollBar,8851225,469,483)
{
Left=30
Top=95
Width=260
Max=359
Position=90
link(onPosition,8737459:doEvent1,[])
}
Add(HubEx,15440027,703,413)
{
Angle=3
link(onEvent,13288155:doWork3,[])
}
Add(Label,3318855,630,378)
{
Left=295
Top=70
Caption="от 0"
}
Add(Hub,12145677,504,406)
{
link(onEvent1,7468557:doStrCat,[(556,412)(556,384)])
link(onEvent2,15440027:doWork2,[])
}
Add(StrCat,7468557,574,378)
{
Str1="от "
link(onStrCat,3318855:doText,[])
}
Add(Label,3796690,630,455)
{
Left=295
Top=95
Caption="до 90"
}
Add(Hub,8737459,518,483)
{
link(onEvent1,5464319:doStrCat,[(553,489)(553,461)])
link(onEvent2,15440027:doWork3,[(707,496)])
}
Add(StrCat,5464319,574,455)
{
Str1="до "
link(onStrCat,3796690:doText,[])
}
flood
Вот казалось бы открыть Paint (или какой другой редактор) и наглядно показать как рисуется дуга в этом g-коде.