<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>AutoRevit's Weblog</title>
	<atom:link href="http://autorevit.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://autorevit.wordpress.com</link>
	<description>AutoCAD &#38; Revit under .NET platform</description>
	<lastBuildDate>Mon, 24 Dec 2007 12:19:48 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='autorevit.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>AutoRevit's Weblog</title>
		<link>http://autorevit.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://autorevit.wordpress.com/osd.xml" title="AutoRevit&#039;s Weblog" />
	<atom:link rel='hub' href='http://autorevit.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Онлайн сервисы &#8211; мега возможности</title>
		<link>http://autorevit.wordpress.com/2007/12/14/online-services/</link>
		<comments>http://autorevit.wordpress.com/2007/12/14/online-services/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 14:01:12 +0000</pubDate>
		<dc:creator>autorevit</dc:creator>
				<category><![CDATA[Just fun!]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[BlogJet]]></category>
		<category><![CDATA[Box.net]]></category>
		<category><![CDATA[Netvibes]]></category>
		<category><![CDATA[Online desktop]]></category>
		<category><![CDATA[Online service]]></category>
		<category><![CDATA[Online storage]]></category>
		<category><![CDATA[WordPre]]></category>

		<guid isPermaLink="false">http://autorevit.wordpress.com/2007/12/14/%d0%9e%d0%bd%d0%bb%d0%b0%d0%b9%d0%bd-%d1%81%d0%b5%d1%80%d0%b2%d0%b8%d1%81%d1%8b-%d0%bc%d0%b5%d0%b3%d0%b0-%d0%b2%d0%be%d0%b7%d0%bc%d0%be%d0%b6%d0%bd%d0%be%d1%81%d1%82%d0%b8/</guid>
		<description><![CDATA[Последние дни разбирался с блогом, настраивал, копался и…  недоумевал. Поэтому не могу об этом не написать. Нет конечно положительных эмоций много, но лично у меня как программиста не раз возникал вопрос: “а почему здесь не так… а я бы добавил это и это…”, но в основном возникало два вопроса: “какая светлая голова это придумала?” и “какие кривые [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=32&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Последние дни разбирался с блогом, настраивал, копался и…  недоумевал. Поэтому не могу об этом не написать.</p>
<p>Нет конечно положительных эмоций много, но лично у меня как программиста не раз возникал вопрос: “а почему здесь не так… а я бы добавил это и это…”, но в основном возникало два вопроса: “какая светлая голова это придумала?” и “какие кривые руки это писали?”. В общем ощущения смешанные, итак по порядку:</p>
<p><span id="more-32"></span></p>
<p>1. Блог я зарегистрировал на <a href="http://wordpress.com/">WordPress</a>. Ну это в принципе понятно, не понятно может быть другое почему именно здесь? Сразу скажу что времени основательно выбирать блог-сервис не было, поэтому пошел по самому простому и надежному пути: прочел несколько статей в которых сранивались различные блог-сервисы. Вот тогда и появилось первое непонимание… Сервисов много, если хорошо поискать даже ОЧЕНЬ много, но что по-моему сугубо личному мнению должно присутствовать в таких сервисах?</p>
<ul>
<li>Бесплатный.<br />
Вот тут конечно можно и закончить, за бесплатно разве можно что-то получить? Можно. Существуют же open-source проекты и бесплатные программы и сайты, так почему же не сервисы? Прекрасным развитием такого сервиса впоследствии может стать предоставление дополнительных услуг за небольшую плату? А теперь помножьте на аудиторию и… в общем не об этом. Собственно поэтому из всех рассмотренных бесплатных кандидатур <a href="http://wordpress.com/">WordPress</a> оказался наиболее конкурентноспособным.</li>
<li>Онлайн-ресурс.<br />
Вот это для блог-сервиса оказалось большой проблемой. Как это? Да очень просто, конечно сам блог-сервис доступен в онлайн-режиме. Однако предоставленный вам ресурс имеет огромное количество ограничений, и всех тех возможностей, которые можно получить развернув блог на своем хостинге, вы не увидете. У себя вы “царь и бог”, вы можете менять внешний вид, добавлять любую функциональность, загружать кучу файлов и вообще делать что угодно. На чужом ресурсе безопасность на первом месте, поэтому и настроек меньше, и возможности не те. Нельзя использовать внешние темы и плагины, в блог можно загружать только файлы изображений и документов, поэтому для других типов файлов приходиться использовать внешнее хранилище. Я использовал <a href="http://box.net/">Box.net</a>.</li>
<li>Удобный для редактирования.<br />
Администраторская панель не имеет возможности настройки внешнего вида или адаптации, слабый html-редактор, который к тому же живет своей собственной жизнью и может не спрашивая менять форматирование вашей страницы, из замеченных особенностей: преобразование тегов div в p, объединение тегов p с потерей форматирования, дублирование и перенос тегов без видимой причины. В результате всего этого просто открыв страницу и не внеся в нее никаких изменений вы можете изменить ее внешний вид до неузнаваемости. Также отсутствует официальный offline-редактор который бы позволил экономить трафик и писать статьи не заходя в интернет. Конечно можно использовать offline-редакторы третьих фирм, но и они не лишены недостатков. Наиболее удобным оказался <a href="http://www.codingrobots.com/blogjet/">BlogJet</a>.</li>
<li>Распространенный.<br />
Существование различных сообществ (communities) позволяет проекту динамично развиваться, а его разработчикам постоянно испытывать к нему интерес. Пользователи самостоятельно разрабатывают различные плагины, виджеты, темы, программы и многое другое… Часть идей перекочевывают в сам проект, поддержка проекта может быть включена в другие распространенные приложения. В качестве средства подобной интеграции можно использовать <a href="http://netvibes.com/">Netvibes.com</a>.</li>
</ul>
<p>Не совсем понятно почему часто внешне продуманный сервис спотыкается на мелочах и плохо воспринимает опыт конкурентов, очевидно что организация достаточно гибкого и расширяемого сервиса задача не тривиальная, с другой стороны чем больше компания (либо количество включенных в разработку пользователей), тем больше возможности, остается надеяться что нарастающая конкуренция поможет в развитии таких проектов.</p>
<p>2. Файловые хранилища существуют уже давно, но они не позволяют хранить файлы долгое время или организовывать единое хранилище для всех файлов одного пользователя. Веб-хранилище <a href="http://box.net/">Box.net</a> позволяет не только постоянно хранить до 1 Гб информации, но и организовать структуру схожую с файловой системой включающую подкаталоги. Есть возможность открыть для общего доступа определенные файлы или целые каталоги, при этом пользователи могут подписаться на события в вашем хранилище и получать информацию о появлении в нем нового файла. Так же можно создать общую группу, что позволит различным пользователям хранить свои данные в одном месте. Но пожалуй самым перспективным может оказаться возможность подключения различных сервисов для работы с файлам в хранилище, на данный момент уже доступны такие сервисы как:</p>
<ul>
<li><img src="http://www.box.net/data/public/service_favicon/3ij4frfe0j72bbg62qt593uttuyf32xn.jpg" style="float:left;vertical-align:middle;margin-right:4px;" /><a href="http://www.box.net/services/autodesk_freewheel" class="name">Autodesk Freewheel</a> – для просмотра DWF файлы непосредственно в браузере</li>
</ul>
<ul>
<li><img src="http://www.box.net/data/public/service_favicon/dsozexycdv3z6rstz4xf0p5yeasyc2y3.jpg" style="float:left;vertical-align:middle;margin-right:4px;" /><a href="http://www.box.net/services/blog_posting" class="name">Blog posting</a> – для публикации записей в блог из хранилища (совместим с <strong>WordPress</strong>)</li>
</ul>
<ul>
<li><img src="http://www.box.net/data/public/service_favicon/u2kydgzvpzndetbcm5y96ogtj7kc6si9.jpg" style="float:left;vertical-align:middle;margin-right:4px;" /><a href="http://www.box.net/services/picnik" class="name">Picnik</a> и <img src="http://www.box.net/data/public/service_favicon/iyi4flcs2ovomfb7i6dpxif3504gykrc.jpg" style="vertical-align:middle;margin-right:4px;" /><a href="http://www.box.net/services/snipshot" class="name">Snipshot</a> – онлайн редакторы фотографий и изображений</li>
</ul>
<ul>
<li><img src="http://www.box.net/data/public/service_favicon/ig928fcr89ztkdhdbl241j4z57yb4y6s.jpg" style="float:left;vertical-align:middle;margin-right:4px;" /><a href="http://www.box.net/services/scribd" class="name">Scribd</a>, <img src="http://www.box.net/data/public/service_favicon/954l86exk6p0z79issxbh8jkks6px29d.jpg" style="vertical-align:middle;margin-right:4px;" /><a href="http://www.box.net/services/thinkfree" class="name">Thinkfree</a> и <img src="http://www.box.net/data/public/service_favicon/yf75m1l0bpfubcih9te39xggnxckxur8.jpg" style="vertical-align:middle;margin-right:4px;" /><a href="http://www.box.net/services/zoho" class="name">Zoho</a> – редакторы текстовых документов и таблиц</li>
</ul>
<p>За дополнительную плату хранилище может быть расширено до 15 Гб и более. Минусом можно считать то, что в бесплатной версии хранилища нельзя получить прямую ссылку на файл, вместо этого отображается специальное окно с кнопкой загрузки. Плюсом является интеграция с WordPress в виде специального виджета, который отображает содержимое хранилища.</p>
<p>3. Средством интеграции и более удобного доступа ко всем ресурсам стал онлайн рабочего стола <a href="http://netvibes.com/">Netvibes.com</a>. Этот сервис больше всего опирается на сообщества. Для разработки специальных виджетов выпущен <a href="http://dev.netvibes.com/">Universal Widget API</a> позволяющий разрабатывать дополнительные компоненты, которые также могут работать на платформах <strong>Mac</strong>, <strong>iPhone</strong>, <strong>iPod touch</strong>, <strong>IGoogle</strong>, <strong>Opera</strong>, <strong>Windows Vista</strong>, <strong>Windows Live</strong>, <strong>Yahoo! Widgets</strong>. На данный момент доступно более 110000!!! компоненентов. Используя эти компоненты можно:</p>
<ul>
<li>вести список задач, добавлять заметки, помечать даты в календаре</li>
<li>просматривать новости, погоду, rss рассылки</li>
<li>выполнять поиск с помощью <strong>Google</strong>, <strong>Yahoo!</strong>, <strong>Live</strong></li>
<li>просматривать любую страницу (я поместил ссылку на свой блог)</li>
<li>напрямую общаться с хранилищем <strong>Box.net</strong></li>
<li>и еще огромное количество различных компонентов в том числе и развлекательных</li>
</ul>
<p>Netvibes пожалуй больше всего поразил количеством предоставляемых возможностей и… их однообразием. Из-за отстутствия удобного поиска и категоризации иногда кажется что все уже просмотрено на первых 3 страницах и ничего нового уже не найти, но иногда попадаются действительно полезные компоненты, хотя их поиск может занять много времени. Еще одним недостатком можно посчитать отсутствие персональных пространств, которые могли бы просматривать другие пользователи, но похоже что в скором будущем подобная функция станет доступной.</p>
<p>Итого:</p>
<p>Хранение и организация собственной информации в сети позволяет не только стать более мобильным и не зависеть от конкретного компьютера, но и открыть доступ к информации которая может быть полезна и интересна другим, так что больше сервисов хороших и разных.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/autorevit.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/autorevit.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/autorevit.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/autorevit.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/autorevit.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/autorevit.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/autorevit.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/autorevit.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/autorevit.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/autorevit.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/autorevit.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/autorevit.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/autorevit.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/autorevit.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/autorevit.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/autorevit.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=32&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://autorevit.wordpress.com/2007/12/14/online-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2e94d208944667d82f5d707e0bda756?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">AutoRevit</media:title>
		</media:content>

		<media:content url="http://www.box.net/data/public/service_favicon/3ij4frfe0j72bbg62qt593uttuyf32xn.jpg" medium="image" />

		<media:content url="http://www.box.net/data/public/service_favicon/dsozexycdv3z6rstz4xf0p5yeasyc2y3.jpg" medium="image" />

		<media:content url="http://www.box.net/data/public/service_favicon/u2kydgzvpzndetbcm5y96ogtj7kc6si9.jpg" medium="image" />

		<media:content url="http://www.box.net/data/public/service_favicon/iyi4flcs2ovomfb7i6dpxif3504gykrc.jpg" medium="image" />

		<media:content url="http://www.box.net/data/public/service_favicon/ig928fcr89ztkdhdbl241j4z57yb4y6s.jpg" medium="image" />

		<media:content url="http://www.box.net/data/public/service_favicon/954l86exk6p0z79issxbh8jkks6px29d.jpg" medium="image" />

		<media:content url="http://www.box.net/data/public/service_favicon/yf75m1l0bpfubcih9te39xggnxckxur8.jpg" medium="image" />
	</item>
		<item>
		<title>MultiSelect TreeView (запись 1 из 4)</title>
		<link>http://autorevit.wordpress.com/2007/12/14/multiselect-treeview/</link>
		<comments>http://autorevit.wordpress.com/2007/12/14/multiselect-treeview/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 12:46:26 +0000</pubDate>
		<dc:creator>autorevit</dc:creator>
				<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://autorevit.wordpress.com/2007/12/14/multiselect-treeview-%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d1%8c-1-%d0%b8%d0%b7-4/</guid>
		<description><![CDATA[Продолжая тему написания различных элементов управления, рассмотрим TreeView с возможностью выделения нескольких узлов, за основу также был взят существующий проект (http://www.codeproject.com), который был доработан и несколько видоизменён: выделение происходит только при зажатой клавише Ctrl при выборе обновляется только текущий узел, а не все узлы исправлена ошибка, когда нельзя было выделить последний выбранный узел Исходный код: MultiSelectTreeViewExample [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=30&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Продолжая тему написания различных элементов управления, рассмотрим <strong>TreeView</strong> с возможностью выделения нескольких узлов, за основу также был взят существующий проект (<a href="http://www.codeproject.com/">http://www.codeproject.com</a>), который был доработан и несколько видоизменён:</p>
<ul>
<li>выделение происходит только при зажатой клавише <strong>Ctrl</strong></li>
<li>при выборе обновляется только текущий узел, а не все узлы</li>
<li>исправлена ошибка, когда нельзя было выделить последний выбранный узел</li>
</ul>
<p style="text-align:center;"><img border="0" src="http://autorevit.files.wordpress.com/2007/12/multiselecttreeview.png?w=468" alt="MultiSelect TreeView" /></p>
<p>Исходный код: <a href="http://www.box.net/shared/1lm4h4fng3">MultiSelectTreeViewExample</a> (zip, 5.60 Кб)</p>
<p><span id="more-30"></span></p>
<p>При выделении узел из дерева помещается в список узлов <strong>SelectedNodes</strong>, при этом происходит отмена выбора в обработчике события <strong>OnBeforeSelect</strong> и выбранный узел <strong>SelectedNode</strong> всегда остается нулевым (null). Таким образом событие <strong>OnBeforeSelect</strong> вызывается даже при выборе текущего узла, чего нельзя было сделать в первоначальном проекте.</p>
<p>Описание класса:<code></code><code></p>
<p style="margin:0;"><span style="color:#2b91af;">    1</span> <span style="color:blue;">using</span> System.Collections.Generic;</p>
<p style="margin:0;"><span style="color:#2b91af;">    2</span> <span style="color:blue;">using</span> System.ComponentModel;</p>
<p style="margin:0;"><span style="color:#2b91af;">    3</span> <span style="color:blue;">using</span> System.Drawing;</p>
<p style="margin:0;"><span style="color:#2b91af;">    4</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">    5</span> <span style="color:blue;">namespace</span> System.Windows.Forms</p>
<p style="margin:0;"><span style="color:#2b91af;">    6</span> {</p>
<p style="margin:0;"><span style="color:#2b91af;">    7</span>     <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    8</span>     <span style="color:gray;">///</span><span style="color:green;"> TreeView with multiselect feature</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    9</span>     <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   10</span>     <span style="color:blue;">public</span> <span style="color:blue;">partial</span> <span style="color:blue;">class</span> <span style="color:#2b91af;">MultiSelectTreeView</span> : <span style="color:#2b91af;">TreeView</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   11</span>     {</p>
<p style="margin:0;"><span style="color:#2b91af;">   12</span> <span style="color:blue;">        #region</span> Members</p>
<p style="margin:0;"><span style="color:#2b91af;">   13</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   14</span>         <span style="color:blue;">private</span> <span style="color:#2b91af;">List</span>&lt;<span style="color:#2b91af;">TreeNode</span>&gt; m_SelectedNodes = <span style="color:blue;">new</span> <span style="color:#2b91af;">List</span>&lt;<span style="color:#2b91af;">TreeNode</span>&gt;();</p>
<p style="margin:0;"><span style="color:#2b91af;">   15</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   16</span> <span style="color:blue;">        #endregion</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   17</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   18</span> <span style="color:blue;">        #region</span> Properties</p>
<p style="margin:0;"><span style="color:#2b91af;">   19</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   20</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   21</span>         <span style="color:gray;">///</span><span style="color:green;"> List of selected nodes</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   22</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   23</span>         [<span style="color:#2b91af;">Browsable</span>(<span style="color:blue;">false</span>), <span style="color:#2b91af;">DesignerSerializationVisibility</span>(<span style="color:#2b91af;">DesignerSerializationVisibility</span>.Hidden)]</p>
<p style="margin:0;"><span style="color:#2b91af;">   24</span>         <span style="color:blue;">public</span> <span style="color:#2b91af;">List</span>&lt;<span style="color:#2b91af;">TreeNode</span>&gt; SelectedNodes</p>
<p style="margin:0;"><span style="color:#2b91af;">   25</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   26</span>             <span style="color:blue;">get</span> { <span style="color:blue;">return</span> m_SelectedNodes; }</p>
<p style="margin:0;"><span style="color:#2b91af;">   27</span>             <span style="color:blue;">set</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   28</span>             {</p>
<p style="margin:0;"><span style="color:#2b91af;">   29</span>                 BeginUpdate();</p>
<p style="margin:0;"><span style="color:#2b91af;">   30</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   31</span>                 <span style="color:blue;">for</span> (<span style="color:blue;">int</span> i = m_SelectedNodes.Count - 1; i &gt;= 0; --i)</p>
<p style="margin:0;"><span style="color:#2b91af;">   32</span>                     removeSelectedNode(m_SelectedNodes[i]);</p>
<p style="margin:0;"><span style="color:#2b91af;">   33</span>                 <span style="color:blue;">for</span> (<span style="color:blue;">int</span> i = <span style="color:blue;">value</span>.Count - 1; i &gt;= 0; --i)</p>
<p style="margin:0;"><span style="color:#2b91af;">   34</span>                     addSelectedNode(<span style="color:blue;">value</span>[i]);</p>
<p style="margin:0;"><span style="color:#2b91af;">   35</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   36</span>                 EndUpdate();</p>
<p style="margin:0;"><span style="color:#2b91af;">   37</span>             }</p>
<p style="margin:0;"><span style="color:#2b91af;">   38</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">   39</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   40</span> <span style="color:blue;">        #endregion</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   41</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   42</span> <span style="color:blue;">        #region</span> Overrides</p>
<p style="margin:0;"><span style="color:#2b91af;">   43</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   44</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   45</span>         <span style="color:gray;">///</span><span style="color:green;"> Change selected state for nodes,</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   46</span>         <span style="color:gray;">///</span><span style="color:green;"> Selection is always cancelled,</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   47</span>         <span style="color:gray;">///</span><span style="color:green;"> SelectedNode is always null</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   48</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   49</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;param name="e"&gt;</span><span style="color:green;">A </span><span style="color:gray;">&lt;seealso cref="System.Windows.Forms.TreeViewCancelEventArgs"/&gt;</span><span style="color:green;"> that contains the event data</span><span style="color:gray;">&lt;/param&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   50</span>         <span style="color:blue;">protected</span> <span style="color:blue;">override</span> <span style="color:blue;">void</span> OnBeforeSelect(<span style="color:#2b91af;">TreeViewCancelEventArgs</span> e)</p>
<p style="margin:0;"><span style="color:#2b91af;">   51</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   52</span>             <span style="color:blue;">base</span>.OnBeforeSelect(e);</p>
<p style="margin:0;"><span style="color:#2b91af;">   53</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   54</span>             <span style="color:blue;">if</span> (e.Action != <span style="color:#2b91af;">TreeViewAction</span>.Unknown)</p>
<p style="margin:0;"><span style="color:#2b91af;">   55</span>             {</p>
<p style="margin:0;"><span style="color:#2b91af;">   56</span>                 BeginUpdate();</p>
<p style="margin:0;"><span style="color:#2b91af;">   57</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   58</span>                 <span style="color:blue;">if</span> (ModifierKeys == <span style="color:#2b91af;">Keys</span>.Control)</p>
<p style="margin:0;"><span style="color:#2b91af;">   59</span>                 {</p>
<p style="margin:0;"><span style="color:#2b91af;">   60</span>                     <span style="color:blue;">if</span> (m_SelectedNodes.Contains(e.Node))</p>
<p style="margin:0;"><span style="color:#2b91af;">   61</span>                         removeSelectedNode(e.Node);</p>
<p style="margin:0;"><span style="color:#2b91af;">   62</span>                     <span style="color:blue;">else</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   63</span>                         addSelectedNode(e.Node);</p>
<p style="margin:0;"><span style="color:#2b91af;">   64</span>                 }</p>
<p style="margin:0;"><span style="color:#2b91af;">   65</span>                 <span style="color:blue;">else</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   66</span>                 {</p>
<p style="margin:0;"><span style="color:#2b91af;">   67</span>                     <span style="color:blue;">for</span> (<span style="color:blue;">int</span> i = m_SelectedNodes.Count - 1; i &gt;= 0; --i)</p>
<p style="margin:0;"><span style="color:#2b91af;">   68</span>                         removeSelectedNode(m_SelectedNodes[i]);</p>
<p style="margin:0;"><span style="color:#2b91af;">   69</span>                     addSelectedNode(e.Node);</p>
<p style="margin:0;"><span style="color:#2b91af;">   70</span>                 }</p>
<p style="margin:0;"><span style="color:#2b91af;">   71</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   72</span>                 EndUpdate();</p>
<p style="margin:0;"><span style="color:#2b91af;">   73</span>             }</p>
<p style="margin:0;"><span style="color:#2b91af;">   74</span>             e.Cancel = <span style="color:blue;">true</span>;</p>
<p style="margin:0;"><span style="color:#2b91af;">   75</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">   76</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   77</span> <span style="color:blue;">        #endregion</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   78</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   79</span> <span style="color:blue;">        #region</span> Methods</p>
<p style="margin:0;"><span style="color:#2b91af;">   80</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   81</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   82</span>         <span style="color:gray;">///</span><span style="color:green;"> Add selected node to list</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   83</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   84</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;param name="node"&gt;</span><span style="color:green;">Selected node</span><span style="color:gray;">&lt;/param&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   85</span>         <span style="color:blue;">protected</span> <span style="color:blue;">void</span> addSelectedNode(<span style="color:#2b91af;">TreeNode</span> node)</p>
<p style="margin:0;"><span style="color:#2b91af;">   86</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   87</span>             m_SelectedNodes.Add(node);</p>
<p style="margin:0;"><span style="color:#2b91af;">   88</span>             node.BackColor = <span style="color:#2b91af;">SystemColors</span>.Highlight;</p>
<p style="margin:0;"><span style="color:#2b91af;">   89</span>             node.ForeColor = <span style="color:#2b91af;">SystemColors</span>.HighlightText;</p>
<p style="margin:0;"><span style="color:#2b91af;">   90</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">   91</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   92</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   93</span>         <span style="color:gray;">///</span><span style="color:green;"> Remove selected node from list</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   94</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   95</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;param name="node"&gt;</span><span style="color:green;">Selected node</span><span style="color:gray;">&lt;/param&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   96</span>         <span style="color:blue;">protected</span> <span style="color:blue;">void</span> removeSelectedNode(<span style="color:#2b91af;">TreeNode</span> node)</p>
<p style="margin:0;"><span style="color:#2b91af;">   97</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   98</span>             node.BackColor = BackColor;</p>
<p style="margin:0;"><span style="color:#2b91af;">   99</span>             node.ForeColor = ForeColor;</p>
<p style="margin:0;"><span style="color:#2b91af;">  100</span>             m_SelectedNodes.Remove(node);</p>
<p style="margin:0;"><span style="color:#2b91af;">  101</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">  102</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">  103</span> <span style="color:blue;">        #endregion</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  104</span>     }</p>
<p style="margin:0;"><span style="color:#2b91af;">  105</span> }</p>
<p></code></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/autorevit.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/autorevit.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/autorevit.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/autorevit.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/autorevit.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/autorevit.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/autorevit.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/autorevit.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/autorevit.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/autorevit.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/autorevit.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/autorevit.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/autorevit.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/autorevit.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/autorevit.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/autorevit.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=30&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://autorevit.wordpress.com/2007/12/14/multiselect-treeview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2e94d208944667d82f5d707e0bda756?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">AutoRevit</media:title>
		</media:content>

		<media:content url="http://autorevit.files.wordpress.com/2007/12/multiselecttreeview.png" medium="image">
			<media:title type="html">MultiSelect TreeView</media:title>
		</media:content>
	</item>
		<item>
		<title>Создание LoftedSolid в .NET</title>
		<link>http://autorevit.wordpress.com/2007/12/11/net-lofted-solid/</link>
		<comments>http://autorevit.wordpress.com/2007/12/11/net-lofted-solid/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 08:39:44 +0000</pubDate>
		<dc:creator>autorevit</dc:creator>
				<category><![CDATA[AutoCAD]]></category>
		<category><![CDATA[ObjectARX]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://autorevit.wordpress.com/2007/12/11/net-lofted-solid/</guid>
		<description><![CDATA[Непонятно почему, но в ObjectARX.NET нет возможности создавать LoftedSolid (трехмерное тело по сечения), а  есть только возможность для создания LoftedSurface (трехмерная поверхность по сечениям). Опишем функцию которая это исправит: public static Solid3d CreateLoftedSolid(     Entity[] crossSections,     Entity[] guideCurves,     Entity pathCurve,     LoftOptions loftOptions); в качестве параметров необходимо передать массив поперечных [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=21&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Непонятно почему, но в <strong>ObjectARX.NET</strong> нет возможности создавать <strong>LoftedSolid</strong> (трехмерное тело по сечения), а  есть только возможность для создания <strong>LoftedSurface</strong> (трехмерная поверхность по сечениям).</p>
<p>Опишем функцию которая это исправит:<br />
<code></code><code></code><code></p>
<p style="margin:0;"><span style="color:blue;">public</span> <span style="color:blue;">static</span> <span style="color:#2b91af;">Solid3d</span> CreateLoftedSolid(</p>
<p style="margin:0;">    <span style="color:#2b91af;">Entity</span>[] crossSections,</p>
<p style="margin:0;">    <span style="color:#2b91af;">Entity</span>[] guideCurves,</p>
<p style="margin:0;">    <span style="color:#2b91af;">Entity</span> pathCurve,</p>
<p style="margin:0;">    <span style="color:#2b91af;">LoftOptions</span> loftOptions);</p>
<p>в качестве параметров необходимо передать массив поперечных сечений, массив направляющих, траекторию сечения (может быть <strong>null</strong>), и настройки сечений.</p>
<p>Исходный код: <a href="http://www.box.net/shared/aolhq15n58">LoftedSolidExample</a> (zip, 12.3 Кб)<br />
<span id="more-21"></span></p>
<p></code>Функцию необходимо описать на <strong>С++.NET</strong>, где преобразовав входные параметры мы вызываем функцию<br />
<code>AcDb3dSolid::createLoftedSolid(<br />
    AcArray&lt;AcDbEntity*&gt;&amp; crossSectionCurves,<br />
    AcArray&lt;AcDbEntity*&gt;&amp; guideCurves,<br />
    AcDbEntity* pPathCurve,<br />
    AcDbLoftOptions&amp; loftOptions<br />
);</code><br />
и возвращаем полученный результат.<br />
Описание класса:<br />
<code></code><code></code><code></p>
<p style="margin:0;"><span style="color:#2b91af;">    1</span> <span style="color:green;">//-----------------------------------------------------------------------------</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    2</span> <span style="color:green;">//- Solid3dExtension.h</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    3</span> <span style="color:blue;">#pragma</span> <span style="color:blue;">once</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    4</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">    5</span> <span style="color:green;">//-----------------------------------------------------------------------------</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    6</span> <span style="color:blue;">using</span> <span style="color:blue;">namespace</span> Autodesk::AutoCAD::DatabaseServices;</p>
<p style="margin:0;"><span style="color:#2b91af;">    7</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">    8</span> <span style="color:blue;">#define</span> GETENTITY(entity)  (<span style="color:blue;">static_cast</span>&lt;AcDbEntity*&gt;(entity-&gt;UnmanagedObject.ToPointer()))</p>
<p style="margin:0;"><span style="color:#2b91af;">    9</span> <span style="color:blue;">#define</span> GET3DSOLID(solid)  (<span style="color:blue;">static_cast</span>&lt;AcDb3dSolid*&gt;(solid-&gt;UnmanagedObject.ToPointer()))</p>
<p style="margin:0;"><span style="color:#2b91af;">   10</span> <span style="color:blue;">#define</span> GETLOFTOPTIONS(loftOptions)  (*<span style="color:blue;">static_cast</span>&lt;AcDbLoftOptions*&gt;(loftOptions-&gt;UnmanagedObject.ToPointer()))</p>
<p style="margin:0;"><span style="color:#2b91af;">   11</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   12</span> <span style="color:blue;">namespace</span> RegionCAD {</p>
<p style="margin:0;"><span style="color:#2b91af;">   13</span>   <span style="color:blue;">namespace</span> Extensions {</p>
<p style="margin:0;"><span style="color:#2b91af;">   14</span>     <span style="color:blue;">static</span> <span style="color:blue;">public</span> <span style="color:blue;">__gc</span> <span style="color:blue;">class</span> Solid3dExtension <font color="#0000ff">sealed</font></p>
<p style="margin:0;"><span style="color:#2b91af;">   15</span>     {</p>
<p style="margin:0;"><span style="color:#2b91af;">   16</span>     <span style="color:blue;">public</span>:</p>
<p style="margin:0;"><span style="color:#2b91af;">   17</span>       <span style="color:blue;">static</span> <span style="color:blue;">inline</span> Solid3d* CreateLoftedSolid(Entity *crossSections[], Entity *guideCurves[], Entity *pathCurve, LoftOptions *loftOptions)</p>
<p style="margin:0;"><span style="color:#2b91af;">   18</span>       {</p>
<p style="margin:0;"><span style="color:#2b91af;">   19</span>         <span style="color:green;">// Определяем массив равный по размеру массиву поперечных сечений</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   20</span>         AcArray&lt;AcDbEntity*&gt; CrossSectionCurves(crossSections-&gt;Count, 1);</p>
<p style="margin:0;"><span style="color:#2b91af;">   21</span>         <span style="color:green;">// Задаем логическую длину массива, для доступа к элементам</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   22</span>         CrossSectionCurves.setLogicalLength(crossSections-&gt;Count);</p>
<p style="margin:0;"><span style="color:#2b91af;">   23</span>         <span style="color:green;">// Переносим данные из массива поперечных сечений</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   24</span>         <span style="color:blue;">for</span> (<span style="color:blue;">int</span> i = 0; i &lt; crossSections-&gt;Count; ++i)</p>
<p style="margin:0;"><span style="color:#2b91af;">   25</span>           CrossSectionCurves.setAt(i, GETENTITY(crossSections[i]));</p>
<p style="margin:0;"><span style="color:#2b91af;">   26</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   27</span>         <span style="color:green;">// Определяем массив равный по размеру массиву направляющих</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   28</span>         AcArray&lt;AcDbEntity*&gt; GuideCurves(guideCurves-&gt;Count, 1);</p>
<p style="margin:0;"><span style="color:#2b91af;">   29</span>         <span style="color:green;">// Задаем логическую длину массива, для доступа к элементам</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   30</span>         GuideCurves.setLogicalLength(guideCurves-&gt;Count);</p>
<p style="margin:0;"><span style="color:#2b91af;">   31</span>         <span style="color:green;">// Переносим данные из массива направляющих</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   32</span>         <span style="color:blue;">for</span> (<span style="color:blue;">int</span> i = 0; i &lt; guideCurves-&gt;Count; ++i)</p>
<p style="margin:0;"><span style="color:#2b91af;">   33</span>           GuideCurves.setAt(i, GETENTITY(guideCurves[i]));</p>
<p style="margin:0;"><span style="color:#2b91af;">   34</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   35</span>         <span style="color:green;">// Определяем траекторию сечения (может быть не задана)</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   36</span>         AcDbEntity* pPathCurve = pathCurve ? GETENTITY(pathCurve) : NULL;</p>
<p style="margin:0;"><span style="color:#2b91af;">   37</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   38</span>         <span style="color:green;">// Определяем настройки сечений</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   39</span>         AcDbLoftOptions LoftOptions = GETLOFTOPTIONS(loftOptions);</p>
<p style="margin:0;"><span style="color:#2b91af;">   40</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   41</span>         <span style="color:green;">// Создаем тело по сечениям</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   42</span>         Solid3d* solid = <span style="color:blue;">new</span> Solid3d();</p>
<p style="margin:0;"><span style="color:#2b91af;">   43</span>         AcDb3dSolid* unmanagedSolid = GET3DSOLID(solid);</p>
<p style="margin:0;"><span style="color:#2b91af;">   44</span>         unmanagedSolid-&gt;createLoftedSolid(CrossSectionCurves, GuideCurves, pPathCurve, LoftOptions);</p>
<p style="margin:0;"><span style="color:#2b91af;">   45</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   46</span>         <span style="color:blue;">return</span> solid;</p>
<p style="margin:0;"><span style="color:#2b91af;">   47</span>       }</p>
<p style="margin:0;"><span style="color:#2b91af;">   48</span>     };</p>
<p style="margin:0;"><span style="color:#2b91af;">   49</span>   }</p>
<p style="margin:0;"><span style="color:#2b91af;">   50</span> }</p>
<p></code></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/autorevit.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/autorevit.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/autorevit.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/autorevit.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/autorevit.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/autorevit.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/autorevit.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/autorevit.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/autorevit.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/autorevit.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/autorevit.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/autorevit.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/autorevit.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/autorevit.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/autorevit.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/autorevit.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=21&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://autorevit.wordpress.com/2007/12/11/net-lofted-solid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2e94d208944667d82f5d707e0bda756?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">AutoRevit</media:title>
		</media:content>
	</item>
		<item>
		<title>Collapsible GroupBox</title>
		<link>http://autorevit.wordpress.com/2007/12/10/collapsible-groupbox/</link>
		<comments>http://autorevit.wordpress.com/2007/12/10/collapsible-groupbox/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 11:40:55 +0000</pubDate>
		<dc:creator>autorevit</dc:creator>
				<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Controls]]></category>

		<guid isPermaLink="false">http://autorevit.wordpress.com/2007/12/10/collapsible-groupbox/</guid>
		<description><![CDATA[GroupBox с возможностью сворачивания и разворачивания, реализован по аналогии с проектом найденным на просторах http://www.codeproject.com в который были внесены некоторые изменения: Высота свернутого GroupBox&#8217;а указывается в дизайнере. Состояние GroupBox&#8217;а указывается в дизайнере. Кнопка сворачивания рисуется как в TreeView. Исходный код: CollapsibleGroupBoxExample (zip, 6.03 Кб) Описание класса:     1 using System.ComponentModel;     2 using System.Drawing;     3 using System.Windows.Forms.VisualStyles;     4      5 namespace System.Windows.Forms     6 {     7     [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=16&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="left">GroupBox с возможностью сворачивания и разворачивания, реализован по аналогии с проектом найденным на просторах <a href="http://www.codeproject.com/">http://www.codeproject.com</a> в который были внесены некоторые изменения:</p>
<ul>
<li>Высота свернутого GroupBox&#8217;а указывается в дизайнере.</li>
<li>Состояние GroupBox&#8217;а указывается в дизайнере.</li>
<li>Кнопка сворачивания рисуется как в TreeView.</li>
</ul>
<p style="text-align:center;"><img border="0" width="230" src="http://autorevit.files.wordpress.com/2007/12/collapsiblegroupbox.png?w=230&#038;h=265" alt="Collapsible GroupBox" height="265" /></p>
<p>Исходный код: <a href="http://www.box.net/shared/i51pl1bi61">CollapsibleGroupBoxExample</a> (zip, 6.03 Кб)</p>
<p><span id="more-16"></span><br />
Описание класса: <code></code><code></code><code></p>
<p style="margin:0;"><span style="color:#2b91af;">    1</span> <span style="color:blue;">using</span> System.ComponentModel;</p>
<p style="margin:0;"><span style="color:#2b91af;">    2</span> <span style="color:blue;">using</span> System.Drawing;</p>
<p style="margin:0;"><span style="color:#2b91af;">    3</span> <span style="color:blue;">using</span> System.Windows.Forms.VisualStyles;</p>
<p style="margin:0;"><span style="color:#2b91af;">    4</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">    5</span> <span style="color:blue;">namespace</span> System.Windows.Forms</p>
<p style="margin:0;"><span style="color:#2b91af;">    6</span> {</p>
<p style="margin:0;"><span style="color:#2b91af;">    7</span>     <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    8</span>     <span style="color:gray;">///</span><span style="color:green;"> GroupBox with collapsible feature</span></p>
<p style="margin:0;"><span style="color:#2b91af;">    9</span>     <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   10</span>     <span style="color:blue;">public</span> <span style="color:blue;">partial</span> <span style="color:blue;">class</span> <span style="color:#2b91af;">CollapsibleGroupBox</span> : <span style="color:#2b91af;">GroupBox</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   11</span>     {</p>
<p style="margin:0;"><span style="color:#2b91af;">   12</span> <span style="color:blue;">        #region</span> Members</p>
<p style="margin:0;"><span style="color:#2b91af;">   13</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   14</span>         <span style="color:blue;">private</span> <span style="color:blue;">bool</span> m_IsCollapsed = <span style="color:blue;">false</span>;</p>
<p style="margin:0;"><span style="color:#2b91af;">   15</span>         <span style="color:blue;">private</span> <span style="color:blue;">int</span> m_CollapsedHeight = 20;</p>
<p style="margin:0;"><span style="color:#2b91af;">   16</span>         <span style="color:blue;">private</span> <span style="color:blue;">int</span> m_ExpandedHeight = 20;</p>
<p style="margin:0;"><span style="color:#2b91af;">   17</span>         <span style="color:blue;">private</span> <span style="color:#2b91af;">Rectangle</span> m_GlyphRect = <span style="color:#2b91af;">Rectangle</span>.Empty;</p>
<p style="margin:0;"><span style="color:#2b91af;">   18</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   19</span> <span style="color:blue;">        #endregion</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   20</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   21</span> <span style="color:blue;">        #region</span> Properties</p>
<p style="margin:0;"><span style="color:#2b91af;">   22</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   23</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   24</span>         <span style="color:gray;">///</span><span style="color:green;"> GroupBox collapsed state </span></p>
<p style="margin:0;"><span style="color:#2b91af;">   25</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   26</span>         [<span style="color:#2b91af;">DefaultValue</span>(<span style="color:blue;">false</span>)]</p>
<p style="margin:0;"><span style="color:#2b91af;">   27</span>         <span style="color:blue;">public</span> <span style="color:blue;">bool</span> IsCollapsed</p>
<p style="margin:0;"><span style="color:#2b91af;">   28</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   29</span>             <span style="color:blue;">get</span> { <span style="color:blue;">return</span> m_IsCollapsed; }</p>
<p style="margin:0;"><span style="color:#2b91af;">   30</span>             <span style="color:blue;">set</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   31</span>             {</p>
<p style="margin:0;"><span style="color:#2b91af;">   32</span>                 <span style="color:blue;">if</span> (m_IsCollapsed != <span style="color:blue;">value</span>)</p>
<p style="margin:0;"><span style="color:#2b91af;">   33</span>                 {</p>
<p style="margin:0;"><span style="color:#2b91af;">   34</span>                     m_IsCollapsed = <span style="color:blue;">value</span>;</p>
<p style="margin:0;"><span style="color:#2b91af;">   35</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   36</span>                     <span style="color:blue;">if</span> (m_IsCollapsed)</p>
<p style="margin:0;"><span style="color:#2b91af;">   37</span>                     {</p>
<p style="margin:0;"><span style="color:#2b91af;">   38</span>                         m_ExpandedHeight = Height;</p>
<p style="margin:0;"><span style="color:#2b91af;">   39</span>                         Height = m_CollapsedHeight;</p>
<p style="margin:0;"><span style="color:#2b91af;">   40</span>                     }</p>
<p style="margin:0;"><span style="color:#2b91af;">   41</span>                     <span style="color:blue;">else</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   42</span>                         Height = m_ExpandedHeight;</p>
<p style="margin:0;"><span style="color:#2b91af;">   43</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   44</span>                     <span style="color:blue;">foreach</span> (<span style="color:#2b91af;">Control</span> control <span style="color:blue;">in</span> Controls)</p>
<p style="margin:0;"><span style="color:#2b91af;">   45</span>                         control.Visible = !m_IsCollapsed;</p>
<p style="margin:0;"><span style="color:#2b91af;">   46</span>                 }</p>
<p style="margin:0;"><span style="color:#2b91af;">   47</span>             }</p>
<p style="margin:0;"><span style="color:#2b91af;">   48</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">   49</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   50</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   51</span>         <span style="color:gray;">///</span><span style="color:green;"> GroupBox colapsed height</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   52</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   53</span>         [<span style="color:#2b91af;">DefaultValue</span>(20)]</p>
<p style="margin:0;"><span style="color:#2b91af;">   54</span>         <span style="color:blue;">public</span> <span style="color:blue;">int</span> CollapsedHeight</p>
<p style="margin:0;"><span style="color:#2b91af;">   55</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   56</span>             <span style="color:blue;">get</span> { <span style="color:blue;">return</span> m_CollapsedHeight; }</p>
<p style="margin:0;"><span style="color:#2b91af;">   57</span>             <span style="color:blue;">set</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   58</span>             {</p>
<p style="margin:0;"><span style="color:#2b91af;">   59</span>                 <span style="color:blue;">if</span> (m_CollapsedHeight != <span style="color:blue;">value</span>)</p>
<p style="margin:0;"><span style="color:#2b91af;">   60</span>                 {</p>
<p style="margin:0;"><span style="color:#2b91af;">   61</span>                     m_CollapsedHeight = <span style="color:blue;">value</span>;</p>
<p style="margin:0;"><span style="color:#2b91af;">   62</span>                     <span style="color:blue;">if</span> (m_IsCollapsed)</p>
<p style="margin:0;"><span style="color:#2b91af;">   63</span>                         Height = m_CollapsedHeight;</p>
<p style="margin:0;"><span style="color:#2b91af;">   64</span>                 }</p>
<p style="margin:0;"><span style="color:#2b91af;">   65</span>             }</p>
<p style="margin:0;"><span style="color:#2b91af;">   66</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">   67</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   68</span> <span style="color:blue;">        #endregion</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   69</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   70</span> <span style="color:blue;">        #region</span> Overrides</p>
<p style="margin:0;"><span style="color:#2b91af;">   71</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   72</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   73</span>         <span style="color:gray;">///</span><span style="color:green;"> Change collapsed state in runtime mode</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   74</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   75</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;param name="e"&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   76</span>         <span style="color:gray;">///</span><span style="color:green;"> A </span><span style="color:gray;">&lt;seealso cref="System.Windows.Forms.MouseEventArgs"/&gt;</span><span style="color:green;"> that contains the event data</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   77</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/param&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   78</span>         <span style="color:blue;">protected</span> <span style="color:blue;">override</span> <span style="color:blue;">void</span> OnMouseUp(<span style="color:#2b91af;">MouseEventArgs</span> e)</p>
<p style="margin:0;"><span style="color:#2b91af;">   79</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   80</span>             <span style="color:blue;">if</span> (m_GlyphRect.Contains(e.Location))</p>
<p style="margin:0;"><span style="color:#2b91af;">   81</span>                 IsCollapsed = !IsCollapsed;</p>
<p style="margin:0;"><span style="color:#2b91af;">   82</span>             <span style="color:blue;">else</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   83</span>                 <span style="color:blue;">base</span>.OnMouseUp(e);</p>
<p style="margin:0;"><span style="color:#2b91af;">   84</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">   85</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">   86</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   87</span>         <span style="color:gray;">///</span><span style="color:green;"> Change collapsed height in design mode</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   88</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   89</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;param name="e"&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   90</span>         <span style="color:gray;">///</span><span style="color:green;"> An </span><span style="color:gray;">&lt;seealso cref="System.EventArgs"/&gt;</span><span style="color:green;"> that contains the event data</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   91</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/param&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   92</span>         <span style="color:blue;">protected</span> <span style="color:blue;">override</span> <span style="color:blue;">void</span> OnResize(<span style="color:#2b91af;">EventArgs</span> e)</p>
<p style="margin:0;"><span style="color:#2b91af;">   93</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">   94</span>             <span style="color:blue;">if</span> (DesignMode &amp;&amp; IsCollapsed)</p>
<p style="margin:0;"><span style="color:#2b91af;">   95</span>                 CollapsedHeight = Height;</p>
<p style="margin:0;"><span style="color:#2b91af;">   96</span>             <span style="color:blue;">else</span></p>
<p style="margin:0;"><span style="color:#2b91af;">   97</span>                 <span style="color:blue;">base</span>.OnResize(e);</p>
<p style="margin:0;"><span style="color:#2b91af;">   98</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">   99</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">  100</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  101</span>         <span style="color:gray;">///</span><span style="color:green;"> Paint GroupBox with open/close glyph</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  102</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/summary&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  103</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;param name="e"&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  104</span>         <span style="color:gray;">///</span><span style="color:green;"> A </span><span style="color:gray;">&lt;seealso cref="System.Windows.Forms.PaintEventArgs"/&gt;</span><span style="color:green;"> that contains the event data</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  105</span>         <span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;">&lt;/param&gt;</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  106</span>         <span style="color:blue;">protected</span> <span style="color:blue;">override</span> <span style="color:blue;">void</span> OnPaint(<span style="color:#2b91af;">PaintEventArgs</span> e)</p>
<p style="margin:0;"><span style="color:#2b91af;">  107</span>         {</p>
<p style="margin:0;"><span style="color:#2b91af;">  108</span>             <span style="color:green;">// Draw GroupBox</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  109</span>             <span style="color:#2b91af;">Rectangle</span> bounds = <span style="color:blue;">new</span> <span style="color:#2b91af;">Rectangle</span>(ClientRectangle.X,</p>
<p style="margin:0;">                                                   ClientRectangle.Y + Font.Height / 2,</p>
<p style="margin:0;">                                                   ClientRectangle.Width,</p>
<p style="margin:0;">                                                   ClientRectangle.Height - Font.Height / 2);</p>
<p style="margin:0;"><span style="color:#2b91af;">  110</span>             <span style="color:#2b91af;">GroupBoxRenderer</span>.DrawGroupBox(e.Graphics,</p>
<p style="margin:0;">                                                bounds,</p>
<p style="margin:0;">                                                Enabled ? <span style="color:#2b91af;">GroupBoxState</span>.Normal : <span style="color:#2b91af;">GroupBoxState</span>.Disabled);</p>
<p style="margin:0;"><span style="color:#2b91af;">  111</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">  112</span>             <span style="color:green;">// Draw GroupBox glyph</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  113</span>             <span style="color:#2b91af;">VisualStyleRenderer</span> glyphRenderer = <span style="color:blue;">new</span> <span style="color:#2b91af;">VisualStyleRenderer</span>(IsCollapsed ?<span style="color:#2b91af;"></span></p>
<p style="margin:0;"><span style="color:#2b91af;">                                                          VisualStyleElement</span>.<span style="color:#2b91af;">TreeView</span>.<span style="color:#2b91af;">Glyph</span>.Closed :</p>
<p style="margin:0;">                                                          <span style="color:#2b91af;">VisualStyleElement</span>.<span style="color:#2b91af;">TreeView</span>.<span style="color:#2b91af;">Glyph</span>.Opened);</p>
<p style="margin:0;"><span style="color:#2b91af;">  114</span>             <span style="color:#2b91af;">Size</span> glyphSize = glyphRenderer.GetPartSize(e.Graphics, <span style="color:#2b91af;">ThemeSizeType</span>.Draw);</p>
<p style="margin:0;"><span style="color:#2b91af;">  115</span>             m_GlyphRect = <span style="color:blue;">new</span> <span style="color:#2b91af;">Rectangle</span>(bounds.X + 8,</p>
<p style="margin:0;">                                              bounds.Y - glyphSize.Height / 2,</p>
<p style="margin:0;">                                              glyphSize.Width,</p>
<p style="margin:0;">                                              glyphSize.Height);</p>
<p style="margin:0;"><span style="color:#2b91af;">  116</span>             glyphRenderer.DrawBackground(e.Graphics, m_GlyphRect);</p>
<p style="margin:0;"><span style="color:#2b91af;">  117</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">  118</span>             <span style="color:green;">// Draw GroupBox text</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  119</span>             <span style="color:#2b91af;">Point</span> textPoint = <span style="color:blue;">new</span> <span style="color:#2b91af;">Point</span>(m_GlyphRect.Right + 2, 0);</p>
<p style="margin:0;"><span style="color:#2b91af;">  120</span>             <span style="color:#2b91af;">TextRenderer</span>.DrawText(e.Graphics, Text, Font, textPoint,</p>
<p style="margin:0;">                                        Enabled ? <span style="color:#2b91af;">SystemColors</span>.ActiveCaption : <span style="color:#2b91af;">SystemColors</span>.GrayText, BackColor);</p>
<p style="margin:0;"><span style="color:#2b91af;">  121</span>         }</p>
<p style="margin:0;"><span style="color:#2b91af;">  122</span> </p>
<p style="margin:0;"><span style="color:#2b91af;">  123</span> <span style="color:blue;">        #endregion</span></p>
<p style="margin:0;"><span style="color:#2b91af;">  124</span>     }</p>
<p style="margin:0;"><span style="color:#2b91af;">  125</span> }</p>
<p></code></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/autorevit.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/autorevit.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/autorevit.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/autorevit.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/autorevit.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/autorevit.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/autorevit.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/autorevit.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/autorevit.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/autorevit.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/autorevit.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/autorevit.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/autorevit.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/autorevit.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/autorevit.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/autorevit.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=16&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://autorevit.wordpress.com/2007/12/10/collapsible-groupbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2e94d208944667d82f5d707e0bda756?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">AutoRevit</media:title>
		</media:content>

		<media:content url="http://autorevit.files.wordpress.com/2007/12/collapsiblegroupbox.png" medium="image">
			<media:title type="html">Collapsible GroupBox</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://autorevit.wordpress.com/2007/12/07/hello-world/</link>
		<comments>http://autorevit.wordpress.com/2007/12/07/hello-world/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 07:15:26 +0000</pubDate>
		<dc:creator>autorevit</dc:creator>
				<category><![CDATA[Just fun!]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Работа с чем-то новым для программиста обычно начинается с ненавистных слов &#171;Hello World!&#187;&#8230; &#160; CopyC# 1public void AddEntity() 2{ 3 Line line = new Line(); 4 Tools.AddEntity(line); 5}<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=1&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Работа с чем-то новым для программиста обычно начинается с ненавистных слов &laquo;Hello World!&raquo;&#8230;</p>
<p>&nbsp;</p>
<div style="font-size:small;font-family:Calibri;">
<div style="margin-top:1em;font-weight:bold;margin-bottom:2px;padding-bottom:3px;border-bottom:gray 1px solid;"><span style="padding-right:10px;font-weight:normal;float:right;cursor:pointer;"><img style="margin-right:5px;" border="0" src="http://autorevit.files.wordpress.com/2007/12/copycode.gif?w=468" />Copy</span>C# </div>
<pre style="clear:both;font-size:9pt;width:99.5%;font-family:Consolas,;background-color:#efeff7;padding:0.4em;"><span style="font-size:80%;color:black;">1</span><span style="border-right:gray 1px solid;padding-right:4px;border-left-color:gray;border-bottom-color:gray;width:4px;border-top-color:gray;margin-right:4px;"></span><span style="padding-right:5px;"></span><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">void</span> AddEntity()
<span style="font-size:80%;color:black;">2</span><span style="border-right:gray 1px solid;padding-right:4px;border-left-color:gray;border-bottom-color:gray;width:4px;border-top-color:gray;margin-right:4px;"></span><span style="padding-right:5px;"></span>{
<span style="font-size:80%;color:black;">3</span><span style="border-right:gray 1px solid;padding-right:4px;border-left-color:gray;border-bottom-color:gray;width:4px;border-top-color:gray;margin-right:4px;"></span><span style="padding-right:5px;"></span>    Line line = <span style="color:#0000ff;">new</span> Line();
<span style="font-size:80%;color:black;">4</span><span style="border-right:gray 1px solid;padding-right:4px;border-left-color:gray;border-bottom-color:gray;width:4px;border-top-color:gray;margin-right:4px;"></span><span style="padding-right:5px;"></span>    Tools.AddEntity(line);
<span style="font-size:80%;color:black;">5</span><span style="border-right:gray 1px solid;padding-right:4px;border-left-color:gray;border-bottom-color:gray;width:4px;border-top-color:gray;margin-right:4px;"></span><span style="padding-right:5px;"></span>}
</pre>
</div>
<pre></pre>
<div></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/autorevit.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/autorevit.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/autorevit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/autorevit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/autorevit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/autorevit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/autorevit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/autorevit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/autorevit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/autorevit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/autorevit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/autorevit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/autorevit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/autorevit.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/autorevit.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/autorevit.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=autorevit.wordpress.com&amp;blog=2277456&amp;post=1&amp;subd=autorevit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://autorevit.wordpress.com/2007/12/07/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2e94d208944667d82f5d707e0bda756?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">AutoRevit</media:title>
		</media:content>

		<media:content url="http://autorevit.files.wordpress.com/2007/12/copycode.gif" medium="image" />
	</item>
	</channel>
</rss>
