Вверх ↑
Этот топик читают: Гость
Ответов: 1925
Рейтинг: 172
#1: 2016-09-26 21:00:52 ЛС | профиль | цитата
Вот такая неожиданность вывалилась:


Add(MainForm,2953706,259,266)
{
Position=1
link(onCreate,8759606:doDraw,[])
}
Add(PaintBox,11955270,336,196)
{
Width=392
Height=175
Align=5
Color=-16777196
}
Add(Img_Ellipse,8759606,336,280)
{
Point2=6553700
Style=4
BgColor=65280
link(onDraw,11955270:doRefresh,[(380,286)(380,244)(324,244)(324,202)])
link(Bitmap,11955270:Bitmap,[])
}

Стоит изменить размер формы - всё стирается. А дело всё в коде:

procedure THIPaintBox._OnResize;
begin
Bmp.Width := control.Width;
Bmp.Height := Control.Height;
inherited;
end;

Стоит это считать за недочёт или так всё же должно и быть?
карма: 9
0
vip
#1.1контекстная реклама от партнеров
Ответов: 1376
Рейтинг: 197
#2: 2016-09-26 21:16:28 ЛС | профиль | цитата
3042, а так пойдет?

Add(MainForm,2967873,504,308)
{
Position=1
}
Add(PaintBox,11955270,504,357)
{
Width=392
Height=175
Align=5
Color=-16777196
ClearBeforeDraw=0
link(onBeforeDraw,8759606:doDraw,[(543,363)(543,447)(494,447)(494,412)])
}
Add(Img_Ellipse,8759606,504,406)
{
Point1=3276850
Point2=6553700
Point2AsOffset=0
Style=4
BgColor=65280
link(Bitmap,11955270:Bitmap,[])
}
карма: 1

1
Голосовали:3042
Ответов: 1925
Рейтинг: 172
#3: 2016-09-26 21:43:09 ЛС | профиль | цитата
Оценил.
Но если использовать для рисования мышкой по компоненту, то это не подойдёт. И если сложные, большие отрисовки - делать их каждый onBeforeDraw тоже не прокатит, к сожалению.
карма: 9
0
Ответов: 2200
Рейтинг: 673
#4: 2016-09-27 15:25:43 ЛС | профиль | цитата
То что вы не умеете работать с элементом из-за того что не понимаете как это работает, не означает что "не прокатит".
карма: 11

1
Голосовали:Galkov
Ответов: 1925
Рейтинг: 172
#5: 2016-09-27 17:55:07 ЛС | профиль | цитата
sla8a, если Вы понимаете, так рассказали бы.
Мне уже кажется, что идея использовать align не лучшая. Т.е. произвольно менять размер без соотв. функции изменения размера картинки.

Редактировалось 1 раз(а), последний 2016-09-27 17:58:59
карма: 9
0
Ответов: 1376
Рейтинг: 197
#6: 2016-09-27 19:28:47 ЛС | профиль | цитата
3042, можно PaintBox в какую-нибудь Child.... засунуть

Add(MainForm,2953706,434,63)
{
Width=366
Height=376
Position=1
}
Add(ChildPanel,3503140,434,105)
{
}
BEGIN_SDK
Add(EditMulti,15808368,21,21)
{
Width=153
Height=235
}
Add(Panel,526480,105,91)
{
Left=20
Top=20
Width=320
Height=305
Ctl3D=0
WinStyle=2
}
Add(PointXY,26249,63,77)
{
link(X,14040495:MouseX,[])
link(Y,14040495:MouseY,[])
}
Add(Img_Line,62527,56,189)
{
Size=3
Point(Point1)
Point(Point2)
link(onDraw,4498660:doWork3,[(95,195)(95,237)(39,237)])
link(Bitmap,14040495:Bitmap,[])
link(Point1,10491606:Var2,[])
link(Point2,13984465:Value,[(76,180)(83,180)])
}
Add(PaintBox,14040495,56,35)
{
Width=370
Height=335
Align=5
Color=16777215
Cursor=16
Point(onMouseDown)
Point(onMouseMove)
Point(MouseX)
Point(MouseY)
link(onMouseDown,4498660:doWork1,[(95,48)(95,27)(39,27)])
link(onMouseMove,2104152:doEvent,[])
}
Add(GetDataEx,10491606,63,119)
{
link(Data,26249:Point,[])
}
Add(Memory,13984465,77,140)
{
Point(Data)
link(onData,14040495:doRefresh,[(116,146)(116,244)(32,244)(32,41)])
link(Data,10491606:Var3,[(83,124)])
}
Add(IndexToChanel,2104152,105,49)
{
Count=1
link(onEvent1,62527:doDraw,[(144,55)(144,230)(46,230)(46,195)])
}
Add(HubEx,4498660,35,140)
{
link(onEvent,13984465:doValue,[])
}
END_SDK

Редактировалось 4 раз(а), последний 2016-09-27 19:37:08
карма: 1

0
Ответов: 2200
Рейтинг: 673
#7: 2016-09-27 22:15:26 ЛС | профиль | цитата
3042, нарисуйте на картинке все что вам нужно и пусть обновляется.
Код


Add(MainForm,2967873,126,245)
{
Position=1
link(onCreate,8738949:doCreate,[])
}
Add(PaintBox,11955270,413,245)
{
Width=392
Height=175
Align=5
Color=-16777196
link(onBeforeDraw,14334509:doDraw,[(469,251)(469,369)(401,369)(401,328)])
}
Add(Img_Ellipse,8759606,189,329)
{
Point1=3276850
Point2=6553700
Point2AsOffset=0
Style=4
BgColor=65280
link(Bitmap,10991009:Var2,[])
}
Add(Bitmap,8738949,189,245)
{
FillColor=-16777201
Point(doCreate)
Point(onCreate)
Point(HWidth)
Point(HHeight)
link(onCreate,8759606:doDraw,[(238,251)(238,376)(177,376)(177,335)])
link(HWidth,7138269:Width,[])
link(HHeight,7138269:Height,[])
}
Add(Screen,7138269,189,196)
{
}
Add(Img_Bmp,14334509,413,322)
{
link(Bitmap,11955270:Bitmap,[])
link(SourceBitmap,10991009:Var3,[(426,306)])
}
Add(GetDataEx,10991009,189,301)
{
link(Data,8738949:Bitmap,[])
}
карма: 11

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)