Вверх ↑
Ответов: 1429
Рейтинг: 50
#1: 2010-10-07 05:21:57 ЛС | профиль | цитата
Dilma, спасибо, сейчас буду разбираться.

Первый вопрос, который пришел в голову, а что если в моей программе рабочее поле размером аж на два экрана, PaintBox разве не будет трудно его прорисовывать? (юзер таскает квадратики по сетке - произвольно) Если это просто форма, то панельке все-равно где оказаться. А PaintBox-у прийдется перерисовывать колосальную площадь. Или надо много маленьких PaintBox в панельках сделать, и таскать панельки? Но тогда все-равно много Gui элементов.

Хаб я урезал для скорости, (без цикла и кеширования) там нужен был только "факт события" а его значение, все-равно, берется из верхних точек.

------------ Дoбавленo в 03.28:
[offtop]Хочу подчеркнуть, я понимаю, что данную схему можно просто взять, и записать в IC. (чтобы работало быстро)
Но я, всетаки, хочу работать именно в HIAsm а не в Delphi. Если скорость будет низкой, то на финальной стадии, перед выпуском продукта, - переведу части на IC.
Это должно быть необходимостью, поскольку это запутает проэкт и усложнит дальнейшее его понимание, для совершенствования и добавления новых функций. [/offtop]
------------ Дoбавленo в 05.21:
Немного разобрался, то-есть Вы предлагаете сделать множество элементов ImgRectangle, но чтобы все они, в итоге, сделали свой вывод на одно поле - PaintBox

Примерно так:
Add(MainForm,13868957,105,140)
{
Width=1179
Height=817
}
Add(PaintBox,16464149,252,147)
{
Width=1170
Height=780
Point(MouseX)
Point(MouseY)
Point(onMouseMove)
link(onMouseMove,13535283:doEvent1,[(294,160)(294,124)(193,124)(193,153)])
}
Add(Img_Rectangle,7686781,252,287)
{
Point2=6553700
Point2AsOffset=0
Color=16777215
BgColor=8404992
Style=1
Point(Point1)
Point(Point2)
link(Bitmap,7933522:Var2,[])
link(Point1,13678798:Point,[])
}
Add(PointXY,13678798,266,224)
{
link(Y,7903298:Var2,[(279,211)(272,211)])
}
Add(Hub,13535283,203,147)
{
OutCount=6
link(onEvent1,16464149:doRefresh,[])
link(onEvent2,16464149:doClear,[])
link(onEvent3,7686781:doDraw,[(235,167)(235,293)])
link(onEvent4,6235805:doDraw,[(320,174)(320,293)])
link(onEvent5,2353478:doDraw,[(416,181)(416,293)])
link(onEvent6,13448775:doDraw,[(492,188)(492,293)])
}
Add(Img_Rectangle,6235805,336,287)
{
Point2=6553700
Point2AsOffset=0
Color=16777215
BgColor=8404992
Style=1
Point(Point1)
Point(Point2)
link(Bitmap,11015829:Var2,[])
link(Point1,770178:Point,[(356,271)(342,271)])
}
Add(PointXY,770178,336,224)
{
link(X,7903298:Var3,[(342,194)])
}
Add(GetDataEx,7903298,266,189)
{
link(Data,16464149:MouseY,[])
}
Add(GetDataEx,7933522,252,273)
{
link(Data,16464149:Bitmap,[])
}
Add(Img_Rectangle,2353478,427,287)
{
Point2=6553700
Point2AsOffset=0
Color=16777215
BgColor=8404992
Style=1
Point(Point1)
Point(Point2)
link(Bitmap,1672859:Var2,[])
link(Point1,6913855:Point,[(447,271)(433,271)])
}
Add(PointXY,6913855,427,224)
{
link(X,882416:Var2,[])
}
Add(GetDataEx,11015829,336,273)
{
Angle=3
link(Data,7933522:Var3,[])
}
Add(Img_Rectangle,13448775,511,287)
{
Point2=6553700
Point2AsOffset=0
Color=16777215
BgColor=8404992
Style=1
Point(Point1)
Point(Point2)
link(Bitmap,1672859:Var3,[(517,278)])
link(Point1,5599924:Point,[(531,271)(517,271)])
}
Add(PointXY,5599924,511,224)
{
link(Y,882416:Var3,[(524,202)])
}
Add(GetDataEx,1672859,427,273)
{
Angle=3
link(Data,11015829:Var3,[])
}
Add(GetDataEx,882416,427,197)
{
Angle=3
link(Data,16464149:MouseX,[(265,202)])
}



карма: 0

0