pascalabcnet/PABCNetHelp/PABCUnits/WPFObjects/Files/Class ObjectWPF.html

127 lines
10 KiB
HTML

<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Àíèìèðóåò">
<param name="Keyword" value="Áàçîâûé">
<param name="Keyword" value="Âèäèìîñòü">
<param name="Keyword" value="Âûðàâíèâàíèå">
<param name="Keyword" value="Âûñîòà">
<param name="Keyword" value="Äåêîðàòîð">
<param name="Keyword" value="Äîáàâëÿåò">
<param name="Keyword" value="Çàâåðøàåò">
<param name="Keyword" value="Èìÿ">
<param name="Keyword" value="Ëåâûé">
<param name="Keyword" value="Ìàñøòàáèðóåò">
<param name="Keyword" value="Ìíîæèòåëü">
<param name="Keyword" value="Íàïðàâëåíèå">
<param name="Keyword" value="Îïðåäåëÿåò">
<param name="Keyword" value="Îòìàñøòàáèðîâàííàÿ">
<param name="Keyword" value="Îòìàñøòàáèðîâàííûé">
<param name="Keyword" value="Îòñòóï">
<param name="Keyword" value="Ïåðåìåùàåò">
<param name="Keyword" value="Ïåðåíîñèò">
<param name="Keyword" value="Ïîâîðà÷èâàåò">
<param name="Keyword" value="Ïðàâûé">
<param name="Keyword" value="Ïðÿìîóãîëüíèê">
<param name="Keyword" value="Ðàçìåð">
<param name="Keyword" value="Òåêñò">
<param name="Keyword" value="Óãîë">
<param name="Keyword" value="Óäàëÿåò">
<param name="Keyword" value="Öâåò">
<param name="Keyword" value="Öåëîå">
<param name="Keyword" value="Öåíòð">
<param name="Keyword" value="Øèðèíà"></object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
</HEAD><body><H1>Êëàññ ObjectWPF</H1>
<table border=0 cellpadding=5><tr><td><code>/// Áàçîâûé êëàññ ãðàôè÷åñêèõ îáúåêòîâ;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lignment = (LeftTop,CenterTop,RightTop,LeftCenter,Center,RightCenter,LeftBottom,CenterBottom,RightBottom);</td></tr>
<tr><td><code>/// Íàïðàâëåíèå äâèæåíèÿ ïî îñè X. Èñïîëüçóåòñÿ ìåòîäîì Move;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ectWPF = class</td></tr>
<tr><td><code>/// Íàïðàâëåíèå äâèæåíèÿ ïî îñè Y. Èñïîëüçóåòñÿ ìåòîäîì Move;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o property Dx: real;</td></tr>
<tr><td><code>/// Îòñòóï ãðàôè÷åñêîãî îáúåêòà îò ëåâîãî êðàÿ;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o property Dy: real;</td></tr>
<tr><td><code>/// Îòñòóï ãðàôè÷åñêîãî îáúåêòà îò âåðõíåãî êðàÿ;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Left: real read InvokeReal(()-&gt;transl.X{Canvas.GetLeft(can)}) write Invoke(procedure-&gt;transl.X := value{Canvas.SetLeft(can,value)});</td></tr>
<tr><td><code>/// Øèðèíà ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Top: real read InvokeReal(()-&gt;transl.Y{Canvas.GetTop(can)}) write Invoke(procedure-&gt;transl.Y := value{Canvas.SetTop(can,value)});</td></tr>
<tr><td><code>/// Âûñîòà ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Width: real read InvokeReal(()-&gt;gr.Width) write Invoke(procedure-&gt;begin gr.Width := value; ob.Width := value end); virtual;</td></tr>
<tr><td><code>/// Îòìàñøòàáèðîâàííàÿ øèðèíà ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Height: real read InvokeReal(()-&gt;gr.Height) write Invoke(procedure-&gt;begin gr.Height := value; ob.Height := value end); virtual;</td></tr>
<tr><td><code>/// Îòìàñøòàáèðîâàííàÿ âûñîòà ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty ScaledWidth: real read Width*ScaleFactor;</td></tr>
<tr><td><code>/// Ðàçìåð ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty ScaledHeight: real read Height*ScaleFactor;</td></tr>
<tr><td><code>/// Îòìàñøòàáèðîâàííûé ðàçìåð ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Size: GSize read Invoke&lt;GSize&gt;(()-&gt;new GSize(gr.Width,gr.Height))</td></tr>
<tr><td><code>/// Ïðÿìîóãîëüíèê ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty ScaledSize: GSize read new GSize(ScaledWidth,ScaledHeight);</td></tr>
<tr><td><code>/// Òåêñò âíóòðè ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Bounds: GRect read Invoke&lt;GRect&gt;(()-&gt;begin Result := new GRect(transl.X,transl.Y,gr.Width,gr.Height); end);</td></tr>
<tr><td><code>/// Öåëîå ÷èñëî, âûâîäèìîå â öåíòðå ãðàôè÷åñêîãî îáúåêòà. Èñïîëüçóåòñÿ ñâîéñòâî Text;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Text: string read InvokeString(()-&gt;t.Text) write Invoke(procedure-&gt;t.Text := value); virtual;</td></tr>
<tr><td><code>/// Âèäèìîñòü ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Number: integer read Text.ToInteger(0) write Text := Value.ToString;</td></tr>
<tr><td><code>/// Âûðàâíèâàíèå òåêñòà âíóòðè ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Visible: boolean</td></tr>
<tr><td><code>/// Ðàçìåð øðèôòà òåêñòà âíóòðè ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty TextAlignment: Alignment write Invoke(WTA,Value);</td></tr>
<tr><td><code>/// Èìÿ øðèôòà òåêñòà âíóòðè ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty FontSize: real read InvokeReal(()-&gt;t.FontSize) write Invoke(procedure-&gt;t.FontSize := value); virtual;</td></tr>
<tr><td><code>/// Öâåò øðèôòà òåêñòà âíóòðè ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty FontName: string write Invoke(procedure-&gt;t.FontFamily := new FontFamily(value)); virtual;</td></tr>
<tr><td><code>/// Öåíòð ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty FontColor: Color</td></tr>
<tr><td><code>/// Ëåâûé âåðõíèé óãîë ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Center: Point</td></tr>
<tr><td><code>/// Ëåâûé íèæíèé óãîë ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty LeftTop: Point read Pnt(Left,Top);</td></tr>
<tr><td><code>/// Ïðàâûé âåðõíèé óãîë ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty LeftBottom: Point read Pnt(Left,Top + Height);</td></tr>
<tr><td><code>/// Ïðàâûé íèæíèé óãîë ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty RightTop: Point read Pnt(Left + Height,Top);</td></tr>
<tr><td><code>/// Óãîë ïîâîðîòà ãðàôè÷åñêîãî îáúåêòà (ïî ÷àñîâîé ñòðåëêå);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty RightBottom: Point read Pnt(Left + Height,Top + Height);</td></tr>
<tr><td><code>/// Ìíîæèòåëü ìàñøòàáèðîâàíèÿ îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty RotateAngle: real read InvokeReal(()-&gt;rot.Angle) write Invoke(procedure-&gt;rot.Angle := value);</td></tr>
<tr><td><code>/// Öâåò ãðàôè÷åñêîãî îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty ScaleFactor: real read InvokeReal(()-&gt;sca.ScaleX) write Invoke(()-&gt;begin (sca.ScaleX, sca.ScaleY) := (value,value); end);</td></tr>
<tr><td><code>/// Ïåðåìåùàåò ëåâûé âåðõíèé óãîë ãðàôè÷åñêîãî îáúåêòà ê òî÷êå (x,y);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perty Color: GColor</td></tr>
<tr><td><code>/// Ïåðåìåùàåò ãðàôè÷åñêèé îáúåêò â íàïðàâëåíèè RotateAngle (ââåðõ ïðè RotateAngle=0);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure MoveTo(x,y: real) := (Self.Left,Self.Top) := (x,y);</td></tr>
<tr><td><code>/// Ïåðåìåùàåò ãðàôè÷åñêèé îáúåêò íà âåêòîð (a,b);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure MoveForward(r: real);</td></tr>
<tr><td><code>/// Ïåðåìåùàåò ãðàôè÷åñêèé îáúåêò íà âåêòîð (dx,dy);</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure MoveOn(a,b: real) := MoveTo(Left+a,Top+b);</td></tr>
<tr><td><code>/// Ïîâîðà÷èâàåò ãðàôè÷åñêèé îáúåêò ïî ÷àñîâîé ñòðåëêå íà óãîë a;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure Move; virtual := MoveOn(dx,dy);</td></tr>
<tr><td><code>/// Ìàñøòàáèðóåò ãðàôè÷åñêèé îáúåêò â r ðàç îòíîñèòåëüíî òåêóùåãî ðàçìåðà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure Rotate(a: real) := RotateAngle += a;</td></tr>
<tr><td><code>/// Àíèìèðóåò ïåðåìåùåíèå ãðàôè÷åñêîãî îáúåêòà íà âåêòîð (a,b) â òå÷åíèå sec ñåêóíä;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure Scale(r: real) := ScaleFactor *= r;</td></tr>
<tr><td><code>/// Àíèìèðóåò ïåðåìåùåíèå ãðàôè÷åñêîãî îáúåêòà ê òî÷êå (x,y) â òå÷åíèå sec ñåêóíä;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure AnimMoveOn(a,b: real; sec: real := 1) := Invoke(AnimMoveOnP,a,b,sec);</td></tr>
<tr><td><code>/// Çàâåðøàåò àíèìàöèþ ïåðåìåùåíèÿ;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure AnimMoveTo(x,y: real; sec: real := 1) := Invoke(AnimMoveToP,x,y,sec);</td></tr>
<tr><td><code>/// Àíèìèðóåò âðàùåíèå ãðàôè÷åñêîãî îáúåêòà íà óãîë a â òå÷åíèå sec ñåêóíä;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure AnimMoveEnd := Invoke(AnimMoveEndP);</td></tr>
<tr><td><code>/// Àíèìèðóåò ìàñøòàáèðîâàíèå ãðàôè÷åñêîãî îáúåêòà íà âåëè÷èíó a â òå÷åíèå sec ñåêóíä;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure AnimRotate(a: real; sec: real := 1) := Invoke(AnimRotateP,a,sec);</td></tr>
<tr><td><code>/// Äîáàâëÿåò ê ãðàôè÷åñêîìó îáúåêòó äî÷åðíèé;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure AnimScale(a: real; sec: real := 1) := Invoke(AnimScaleP,a,sec);</td></tr>
<tr><td><code>/// Óäàëÿåò èç ãðàôè÷åñêîãî îáúåêòà äî÷åðíèé;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure AddChild(ch: ObjectWPF; al: Alignment := Alignment.LeftTop);</td></tr>
<tr><td><code>/// Óäàëÿåò ãðàôè÷åñêèé îáúåêò;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure DeleteChild(ch: ObjectWPF);</td></tr>
<tr><td><code>/// Ïåðåíîñèò ãðàôè÷åñêèé îáúåêò íà ïåðåäíèé ïëàí;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure Destroy;</td></tr>
<tr><td><code>/// Ïåðåíîñèò ãðàôè÷åñêèé îáúåêò íà çàäíèé ïëàí;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure ToFront;</td></tr>
<tr><td><code>/// Îïðåäåëÿåò, ïåðåñåêàåòñÿ ëè îáúåêò ñ îáúåêòîì ob;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cedure ToBack;</td></tr>
<tr><td><code>/// Äåêîðàòîð òåêñòà îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ction Intersects(ob: ObjectWPF): boolean;</td></tr>
<tr><td><code>/// Äåêîðàòîð ïîâîðîòà îáúåêòà;</code>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ction WithText(txt: string; size: real := 16; fontname: string := 'Arial'; c: GColor := Colors.Black): ObjectWPF;</td></tr>
</table>
</body></HTML>