<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=73</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=73&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «QVCLua: рисование графических элементов - круги, квадраты и т.д.».]]></description>
		<lastBuildDate>Wed, 29 Apr 2015 13:36:38 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1267#p1267</link>
			<description><![CDATA[<div class="quotebox"><cite>sam063rus пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Совершенно с Вами согласен. Ждём от Вас исчерпывающей инструкции по работе с GDI+qlua.</p></blockquote></div><p>почитайте книгу Феня Юаня (программирование графики для Windows) - там всё на вполне доступном уровне и с примерами, а qlua-прокладку, думаю, для вас не составит труда прикрутить.</p></blockquote></div><p>Ради одного перевернутого треугольника пожалуй не стану читать. ) А вот когда захочется свечки и прочее рисовать, да, почитаю, конечно, спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (GREEN_X5)]]></author>
			<pubDate>Wed, 29 Apr 2015 13:36:38 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1267#p1267</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1265#p1265</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Wed, 29 Apr 2015 11:14:27 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1265#p1265</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1263#p1263</link>
			<description><![CDATA[<div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>Кстати, я сделал повороты фигур. Ещё актуально?</p></blockquote></div><p>Да, конечно! )</p>]]></description>
			<author><![CDATA[null@example.com (GREEN_X5)]]></author>
			<pubDate>Wed, 29 Apr 2015 10:15:27 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1263#p1263</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1260#p1260</link>
			<description><![CDATA[<p>Строго говоря, vclua позволяет именно рисовать, используя готовую обёртку над GDI. Но я ума не приложу, как это можно полезно использовать в коде на Lua кроме как в целях саморазвития. Лучше нужный функционал в vclua добавить, будет проще и быстрее.</p><p>Кстати, я сделал повороты фигур. Ещё актуально?</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Wed, 29 Apr 2015 09:18:58 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1260#p1260</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1259#p1259</link>
			<description><![CDATA[<div class="quotebox"><cite>sam063rus пишет:</cite><blockquote><p>вместо заведомо тупикового пути поддержки vclua (во всех его &quot;ипостасиях&quot;) - предлагаю уделить внимание детальному изучению GDI. В таком случае, вы сможете (после определённого времени) писать свои контролы (и &quot;стрелочки&quot;, &quot;треугольнички&quot;, чарты и пр. муть). В конечном итоге, получив тем самым полную свободу действий и значительное быстродействие.</p></blockquote></div><p>Совершенно с Вами согласен. Ждём от Вас исчерпывающей инструкции по работе с GDI+qlua.<br />Пока сидим на qvcl.</p>]]></description>
			<author><![CDATA[null@example.com (GREEN_X5)]]></author>
			<pubDate>Wed, 29 Apr 2015 09:06:25 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1259#p1259</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1256#p1256</link>
			<description><![CDATA[<p>-</p>]]></description>
			<author><![CDATA[null@example.com (sam063rus)]]></author>
			<pubDate>Wed, 29 Apr 2015 01:42:49 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1256#p1256</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1229#p1229</link>
			<description><![CDATA[<p>Стандартно ничего такого нет, увы</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Mon, 06 Apr 2015 12:23:29 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1229#p1229</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1228#p1228</link>
			<description><![CDATA[<p>Помогите пожалуйста перевернуть треугольник вверх-ногами. ) Не обнаружил такой контрол в документации...<br /></p><div class="codebox"><pre><code>TrSell= vcl.Shape(Form, {
Shape=&quot;stTriangle&quot;,
Pen={Style=&quot;psClear&quot;},
Brush={Color=RGB(255,0,0), Style=&quot;bsSolid&quot;}
})</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (GREEN_X5)]]></author>
			<pubDate>Mon, 06 Apr 2015 10:30:27 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1228#p1228</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1180#p1180</link>
			<description><![CDATA[<p>Что именно из приведённых примеров вы хотите рисовать?<br />Есть свой чарт во всей этой приблуде, но люди, вы бы попробовали реально поиспользовать всё это, а не демо-скриншоты смотреть.<br />Первое на что наткнётесь - любой график рисуется только полностью. 100 свечей в него запихал - будь добр все 1000 и смотри ан экране.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Mon, 23 Mar 2015 10:36:29 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1180#p1180</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1179#p1179</link>
			<description><![CDATA[<div class="quotebox"><cite>swerg пишет:</cite><blockquote><div class="quotebox"><cite>ilk пишет:</cite><blockquote><p>а где свечи? линии ? или stockchart lib?</p></blockquote></div><p>Они отсутствуют.<br />Но никто их и не обещал.</p></blockquote></div><p>так может и приделать?<br />[url]http://plplot.sourceforge.net/examples.php[/url]</p>]]></description>
			<author><![CDATA[null@example.com (ilk)]]></author>
			<pubDate>Mon, 23 Mar 2015 10:10:45 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1179#p1179</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1178#p1178</link>
			<description><![CDATA[<div class="quotebox"><cite>ilk пишет:</cite><blockquote><p>а где свечи? линии ? или stockchart lib?</p></blockquote></div><p>Они отсутствуют.<br />Но никто их и не обещал.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Mon, 23 Mar 2015 06:19:50 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1178#p1178</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=1177#p1177</link>
			<description><![CDATA[<p>а где свечи? линии ? или stockchart lib?</p>]]></description>
			<author><![CDATA[null@example.com (ilk)]]></author>
			<pubDate>Sun, 22 Mar 2015 16:14:33 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=1177#p1177</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=673#p673</link>
			<description><![CDATA[<p>Подскажите пожалуйста как отправить квадрату из примера выше новый цвет заливки. Вот так по колхозному не получается )))<br /></p><div class="codebox"><pre><code>graphRect.Brush[&quot;Color&quot;]=0x00EEEE</code></pre></div><p>edit:<br />Ух ты, какие вопросы я задавал пол-года назад. )<br /></p><div class="codebox"><pre><code>graphRect.Brush.Color=RGB(0,255,0);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (GREEN_X5)]]></author>
			<pubDate>Fri, 26 Sep 2014 17:12:55 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=673#p673</guid>
		</item>
		<item>
			<title><![CDATA[Re: QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=440#p440</link>
			<description><![CDATA[<p><span style="color: #CCCCCC">&lt; reserved &gt;</span></p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Thu, 03 Oct 2013 19:24:08 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=440#p440</guid>
		</item>
		<item>
			<title><![CDATA[QVCLua: рисование графических элементов - круги, квадраты и т.д.]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=439#p439</link>
			<description><![CDATA[<p>Простой пример как нарисовать на форме графические элементы при помощи VCL.Shape:</p><p><span class="postimg"><img src="https://quik2dde.ru/static-img/26/test-shape.gif" alt="https://quik2dde.ru/static-img/26/test-shape.gif" /></span></p><p>Для визуализации используется [url=https://quik2dde.ru/viewtopic.php?id=111]библиотека QVCLua, которую можно взять в отдельной теме[/url].</p><p>Про просьбе участника форума добавлена возможность задавать угол поворота для фигур.<br />Новые свойства и методы для <strong>Shape</strong>:<br /></p><ul><li><p><strong>Angle</strong> - задаёт угол поворота фигуры в градусах</p></li><li><p><strong>RotateMinSize</strong> - если равно <strong>false</strong>, то фигура изменяется в размере так, чтобы занять аксимально доступную область, заданную размерами, если равно <strong>true</strong> - то фигура имеет постоянный размер такой, чтобы при любом угле поворота гарантированно умещаться в заданные её размеры</p></li><li><p><strong>SendToBack()</strong> - переместить фигуру на задний план</p></li><li><p><strong>BringToFront()</strong> - переместить фигуру на передний план</p></li></ul><div class="codebox"><pre><code>VCL = require &quot;qvcl&quot;

function OnFormClose(Sender, CloseAction)
  is_run = false
  mainForm:Release()
end

function OnTrackChange(Sender)
  graphRect.Angle = trackBar.Position
  graphElipse.Angle = trackBar.Position
  graphTriangle.Angle = trackBar.Position
  graphDiamond.Angle = trackBar.Position
  labelAngle.Caption = &quot;Угол поворота: &quot; .. tostring(trackBar.Position)
end

function OnChBoxChange(Sender)
  graphRect.RotateMinSize = chBox.Checked
  graphElipse.RotateMinSize = chBox.Checked
  graphTriangle.RotateMinSize = chBox.Checked
  graphDiamond.RotateMinSize = chBox.Checked
end

function SetRectFrom(elemTo, elemFrom)
  elemTo.top = elemFrom.top
  elemTo.left = elemFrom.left
  elemTo.height = elemFrom.height
  elemTo.width = elemFrom.width
  elemTo:SendToBack();
end


mainForm = VCL.Form(&quot;mainForm&quot;)
mainForm._ = { position=&quot;podesktopcenter&quot;, height=330, width=370, Caption=&quot;Shape test&quot;, OnClose = OnFormClose }

-- квадрат
graphRect = VCL.Shape(mainForm)
graphRect._ =
  {
     top=10, left=15, height=100, width=150,  -- положение и размеры
     Shape=&quot;stRectangle&quot;,                     -- тип: прямоугольник
     Pen={ Color=0x3333DD, Style=&quot;psDot&quot; },   -- цвет рамки, тип линии &quot;пунктир&quot;
     Brush={ Color=0xDD99BB }                 -- цвет заливки
  }

-- элипс
graphElipse = VCL.Shape(mainForm)
graphElipse._ =
  {
     top=10, left=205, height=100, width=150,  -- положение и размеры
     Shape=&quot;stEllipse&quot;,                       -- тип: элипс
     Pen={ Color=0xDD9933 },                  -- цвет рамки, сплошная линия
     Brush={ Color=0x666666, Style=&quot;bsFDiagonal&quot; }  -- цвет заливки диагональными линиями
  }

-- треугольник
graphTriangle = VCL.Shape(mainForm)
graphTriangle._ =
  {
     top=135, left=15, height=100, width=150,
     Shape=&quot;stTriangle&quot;,                      -- тип: треугольник
     Pen={ Color=0x00CC00, Width=5 },         -- зеленая рамка толщиной 5 писелей
     Brush={ Style=&quot;bsClear&quot; }                -- без заливки
  }

-- ромб
graphDiamond = VCL.Shape(mainForm)
graphDiamond._ =
  {
     top=135, left=205, height=100, width=150,
     Shape=&quot;stDiamond&quot;,                        -- тип: ромб
     Pen={ Style=&quot;psClear&quot; },                  -- без рамки
     Brush={ Color=0x00EEEE, Style=&quot;bsSolid&quot; } -- сплошная заливка
  }

-- &quot;рамки&quot; вокруг элементов
frame1 = VCL.Shape(mainForm, {
     Shape=&quot;stRectangle&quot;, Pen={ Color=0xAAAAAA, Style=&quot;psDashDot&quot; }, Brush={ Style=&quot;bsClear&quot; }
 })
frame2 = VCL.Shape(mainForm, {
     Shape=&quot;stRectangle&quot;, Pen={ Color=0xAAAAAA, Style=&quot;psDashDot&quot; }, Brush={ Style=&quot;bsClear&quot; }
 })
frame3 = VCL.Shape(mainForm, {
     Shape=&quot;stRectangle&quot;, Pen={ Color=0xAAAAAA, Style=&quot;psDashDot&quot; }, Brush={ Style=&quot;bsClear&quot; }
 })
frame4 = VCL.Shape(mainForm, {
     Shape=&quot;stRectangle&quot;, Pen={ Color=0xAAAAAA, Style=&quot;psDashDot&quot; }, Brush={ Style=&quot;bsClear&quot; }
 })
SetRectFrom(frame1, graphRect)
SetRectFrom(frame2, graphElipse)
SetRectFrom(frame3, graphTriangle)
SetRectFrom(frame4, graphDiamond)

-- &quot;двигунок&quot; и отображение угла
labelAngle = VCL.Label(mainForm)
labelAngle._ =
 {
     top=250, left=15,
     Caption=&quot;0&quot;
 }

trackBar = VCL.TrackBar(mainForm)
trackBar._ =
 {
     top=270, left=0, width=369,
     TickStyle=&quot;tsNone&quot;,
     OnChange = OnTrackChange,
     Min=0, Max=360
 }

chBox = VCL.CheckBox(mainForm)
chBox._ =
 {
     top=300, left=10, width=230, Caption=&quot;Постоянный размер&quot;,
     OnChange = OnChBoxChange
 }


mainForm:Show()

OnTrackChange()  -- вывести начальный угол с поясняющим текстом

is_run = true    
function main()
  while is_run do
    sleep(50)
  end
end

function OnStop()
 is_run = false
 mainForm:Free()
end</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Thu, 03 Oct 2013 19:22:43 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=439#p439</guid>
		</item>
	</channel>
</rss>
