Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26170
Рейтинг: 2127
#31: 2008-02-29 15:10:14 ЛС | профиль | цитата
Пример реализации Градиентной формы на компоненте Img_Gradient



Add(MainForm,11946591,77,133)
{
Left=20
Top=105
BorderStyle=0
Position=1
Point(Handle)
Point(Width)
Point(Height)
Point(onResize)
Point(onPaint)
link(onResize,9849203:doData,[(131,160)(131,132)])
link(onPaint,12118012:doEvent1,[])
}
Add(Img_Gradient,5467618,224,322)
{
Point2AsOffset=0
DrawSource=1
GradientStyle=12
InversGrad=0
Frame=1
link(onDraw,12526595:doDraw,[])
link(Point2,10737611:Point,[])
}
Add(PointXY,10737611,238,273)
{
X=100
Y=100
link(X,13420734:getVar,[])
link(Y,6918388:getVar,[])
}
Add(Img_Text,2789688,413,252)
{
Font=[Arial,48,1,16777215,204]
Text="Привет"
link(onDraw,1242992:doOperation,[(533,258)(533,167)])
link(Bitmap,13308073:getVar,[(419,175)(370,175)])
link(X,544150:Var2,[])
link(Y,16747202:Var2,[(440,238)(489,238)])
}
Add(LineBreakEx,13420734,238,224)
{
Caption="Width"
Type=2
}
Add(LineBreakEx,6918388,245,245)
{
Caption="Height"
Type=2
}
Add(LineBreakEx,11869530,84,210)
{
Caption="Width"
Type=3
link(_Data,11946591:Width,[])
}
Add(LineBreakEx,2105686,91,189)
{
Caption="Height"
Type=3
link(_Data,11946591:Height,[])
}
Add(Hub,12118012,154,161)
{
OutCount=3
link(onEvent1,5604651:doRefresh,[])
link(onEvent2,8676414:doProcessMessages,[])
link(onEvent3,5467618:doDraw,[(205,181)(205,328)])
}
Add(LineBreakEx,14996113,427,119)
{
Caption="PWidth"
Type=2
}
Add(LineBreakEx,13501365,483,119)
{
Caption="PHeight"
Type=2
}
Add(MathParse,13490198,427,161)
{
MathStr="(%1 - %2) div 2 + 1"
ResultType=0
link(onResult,1785390:doCalc,[])
link(X1,14996113:getVar,[])
link(X2,2789688:TextWidth,[(440,149)(430,149)(430,296)(419,296)])
}
Add(MathParse,1785390,483,161)
{
MathStr="(%1 - %2) div 2 + 1"
ResultType=0
link(onResult,2789688:doDraw,[(527,167)(527,213)(401,213)(401,258)])
link(X1,13501365:getVar,[])
link(X2,2789688:TextHeight,[(496,149)(461,149)(461,296)(426,296)])
}
Add(PaintBox,5604651,322,161)
{
Left=90
Top=125
Width=300
Height=100
Color=8421504
Point(Width)
Point(Height)
Point(doTop)
link(onBeforeDraw,13490198:doCalc,[])
}
Add(LineBreakEx,8280321,329,210)
{
Caption="PWidth"
Type=3
link(_Data,5604651:Width,[])
}
Add(LineBreakEx,8270164,336,231)
{
Caption="PHeight"
Type=3
link(_Data,5604651:Height,[])
}
Add(LineBreakEx,10662531,700,203)
{
Caption="Height"
Type=2
}
Add(Application,8676414,217,168)
{
}
Add(LineBreakEx,14746533,322,252)
{
Caption="PBitmap"
Type=3
link(_Data,5604651:Bitmap,[])
}
Add(LineBreakEx,13308073,364,119)
{
Caption="PBitmap"
Type=2
}
Add(Img_Bmp,12526595,630,322)
{
Transparent=0
TransparentColor=8421504
DrawSource=1
link(SourceBitmap,4352473:getVar,[])
link(X,16232474:Result,[])
link(Y,5150001:Result,[(657,303)(706,303)])
}
Add(MathParse,16232474,644,252)
{
MathStr="(%1 - %2) div 2"
link(onResult,5150001:doCalc,[])
link(X1,1457367:getVar,[])
link(X2,15935781:getVar,[])
}
Add(MathParse,5150001,700,252)
{
MathStr="(%1 - %2) div 2"
link(X1,10662531:getVar,[])
link(X2,9235890:getVar,[])
}
Add(LineBreakEx,4352473,637,294)
{
Caption="PBitmap"
Type=2
}
Add(LineBreakEx,15935781,651,224)
{
Caption="PWidth"
Type=2
}
Add(LineBreakEx,9235890,707,224)
{
Caption="PHeight"
Type=2
}
Add(LineBreakEx,1457367,644,203)
{
Caption="Width"
Type=2
}
Add(LineBreakEx,433946,154,77)
{
Caption="Height"
Type=2
}
Add(DoData,9849203,154,126)
{
link(onEventData,12783791:doWork,[])
link(Data,433946:getVar,[])
}
Add(LineBreakEx,12783791,203,126)
{
Caption="Resize"
}
Add(LineBreakEx,10830607,259,175)
{
Caption="Resize"
Type=1
link(OnEvent,5604651:doTop,[])
}
Add(Img_Text,955889,574,252)
{
Font=[Arial,48,1,0,204]
Text="Привет"
link(onDraw,16232474:doCalc,[])
link(Bitmap,6897780:getVar,[])
link(X,1242992:Result,[(594,222)(552,222)])
link(Y,2883150:Result,[])
}
Add(Math,1242992,546,161)
{
OpType=1
Op2=1
ResultType=0
link(onResult,2883150:doOperation,[])
link(Op1,544150:Var3,[(552,149)(495,149)(495,205)])
}
Add(Math,2883150,595,161)
{
OpType=1
Op2=1
ResultType=0
link(onResult,955889:doDraw,[(639,167)(639,213)(562,213)(562,258)])
link(Op1,16747202:Var3,[(601,149)(547,149)(547,219)])
}
Add(GetDataEx,544150,420,196)
{
link(Data,13490198:Result,[])
}
Add(GetDataEx,16747202,476,210)
{
link(Data,1785390:Result,[])
}
Add(LineBreakEx,6897780,574,119)
{
Caption="PBitmap"
Type=2
}

карма: 22

4
Голосовали:Stasie, andrestudio, Administrator, Ghost_Russia
Ответов: 5227
Рейтинг: 587
#32: 2008-02-29 15:52:14 ЛС | профиль | цитата
nesco - SUPER как всегда! Слушай тебе похоже уже жалование пологается, кошель в студию будем скидываться
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 2060
Рейтинг: 28
#33: 2008-02-29 16:03:44 ЛС | профиль | цитата
andrestudio писал(а):
nesco - SUPER как всегда! Слушай тебе похоже уже жалование пологается, кошель в студию будем скидываться

Для начало хотябы кликни по плюсу у nesco -о.
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#34: 2008-02-29 22:32:28 ЛС | профиль | цитата
Вот схема гораздо проще, но нужен исправленный компонент Img_Text (взять можно здесь [svn]Img_Shift.pas[/svn]). Предыдущий не читал размер текста при режиме вывода текста на Handle



Add(MainForm,11946591,77,133)
{
Left=20
Top=105
BorderStyle=0
Position=1
Point(Handle)
Point(Width)
Point(Height)
Point(onResize)
Point(onPaint)
link(onPaint,5467618:doDraw,[])
}
Add(Img_Gradient,5467618,147,161)
{
Point2AsOffset=0
DrawSource=1
GradientStyle=12
InversGrad=0
Frame=1
link(onDraw,6501264:doEvent1,[])
link(Point2,10737611:Point,[])
}
Add(PointXY,10737611,161,112)
{
X=100
Y=100
link(X,13420734:getVar,[])
link(Y,6918388:getVar,[])
}
Add(Img_Text,2789688,259,252)
{
Font=[Arial,48,1,16777215,204]
Text="Привет"
DrawSource=1
link(X,544150:Var2,[])
link(Y,16747202:Var2,[(286,238)(335,238)])
}
Add(LineBreakEx,13420734,161,63)
{
Caption="Width"
Type=2
}
Add(LineBreakEx,6918388,168,84)
{
Caption="Height"
Type=2
}
Add(LineBreakEx,11869530,84,210)
{
Caption="Width"
Type=3
link(_Data,11946591:Width,[])
}
Add(LineBreakEx,2105686,91,189)
{
Caption="Height"
Type=3
link(_Data,11946591:Height,[])
}
Add(GetDataEx,16747202,322,210)
{
link(Data,1785390:Result,[])
}
Add(Math,1242992,392,161)
{
OpType=1
Op2=1
ResultType=0
link(onResult,2883150:doOperation,[])
link(Op1,544150:Var3,[(398,149)(341,149)(341,205)])
}
Add(Math,2883150,441,161)
{
OpType=1
Op2=1
ResultType=0
link(Op1,16747202:Var3,[(447,149)(393,149)(393,219)])
}
Add(MathParse,13490198,273,161)
{
MathStr="(%1 - %2) div 2 + 1"
ResultType=0
link(onResult,1785390:doCalc,[])
link(X1,1457367:getVar,[])
link(X2,2789688:TextWidth,[(286,149)(276,149)(276,296)(265,296)])
}
Add(MathParse,1785390,329,161)
{
MathStr="(%1 - %2) div 2 + 1"
ResultType=0
link(onResult,1242992:doOperation,[])
link(X1,10662531:getVar,[])
link(X2,2789688:TextHeight,[(342,149)(307,149)(307,296)(272,296)])
}
Add(GetDataEx,544150,266,196)
{
link(Data,13490198:Result,[])
}
Add(Img_Text,955889,420,252)
{
Font=[Arial,48,1,0,204]
Text="Привет"
DrawSource=1
link(X,1242992:Result,[(440,222)(398,222)])
link(Y,2883150:Result,[])
}
Add(Hub,6501264,196,161)
{
OutCount=3
link(onEvent1,13490198:doCalc,[])
link(onEvent2,2789688:doDraw,[(244,174)(244,258)])
link(onEvent3,955889:doDraw,[(324,181)(324,258)])
}
Add(LineBreakEx,10662531,329,126)
{
Caption="Height"
Type=2
}
Add(LineBreakEx,1457367,273,126)
{
Caption="Width"
Type=2
}

карма: 22

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