<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011694</guid>
        <pubDate>Thu, 09 Feb 2006 14:24:06 +0000</pubDate>
        <title>Многоколоночный список</title>
        <link>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011694</link>
        <description><![CDATA[Old: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=132020&view=findpost&p=1011566'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>gtyrin &#064; <time class="tag-quote__quoted-time" datetime="2006-02-09T15:41:10+03:00">09.02.06, 12:41</time></span><div class='quote '>Спасибо,<br>
Old  :D</div></div><br>
Ну и где оно, моё <span class="tag-color tag-color-named" data-value="green" style="color: green"><strong class='tag-b'>спасибо</strong></span> :)]]></description>
        <author>Old</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011566</guid>
        <pubDate>Thu, 09 Feb 2006 12:41:10 +0000</pubDate>
        <title>Многоколоночный список</title>
        <link>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011566</link>
        <description><![CDATA[gtyrin: Спасибо,<br>Old  :D]]></description>
        <author>gtyrin</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011530</guid>
        <pubDate>Thu, 09 Feb 2006 12:17:10 +0000</pubDate>
        <title>Многоколоночный список</title>
        <link>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011530</link>
        <description><![CDATA[Old: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><strong class='tag-b'>Как отображать в ListBox несколько колонок</strong><br>
<br>
ListBox - скромный компонент, появившийся еще в Delphi 1.0. Он показывает список строк и позволяет вам выбрать одну или несколько из них. Однако, как показывает в этой статье Кейт Вуд (Keith Wood), этот компонент имеет редко используемые возможности, которые могут сделать интерфейс вашего приложения более информативным. <br>
<br>
Хотелось ли вам когда-либо отображать табулированный список - несколько колонок текста? Как же нам сделать ровные колонки? Вы можете попробовать использовать пробелы, но такой метод не будет работать с пропорциональными шрифтами. Вы можете сделать owner-draw и сформировать колонки самостоятельно. Но вся эта работа не нужна&#33; ListBox уже имеет свойство, которое позволит разершить данную ситуацию. <br>
<br>
Свойство TabWidth устанавливает табуляционные интервалы в ListBox. Они измеряются в единицах диалогового окна (dialog box unit), четыре единицы равны сердней ширине символа. Когда это свойство установлено в 0 (по умолчанию), интервалы табуляции в ListBox отсутствуют и символы табуляции отображаются в виде вертикальных линий. Установленное в ненулевое значение, это свойство определяет расстояние между табуляционными метками, расставленными по всей ширине ListBox. <br>
<br>
Колонки различной ширины <br>
<br>
Что если вы захотите сделать колонки переменной ширины?<br>
Разумеется, нет свойства, позволяющего вам легко сделать это, но это легко делается с помощью кода. Все, что вам нужно сделать - это послать сообщение LB_SETTABSTOPS, передав количество табуляций и указатель на массив с их позициями: <br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">const</div><div class="code_line">iStops : array [1..3] of Integer = ( 20, 60, 80 );</div><div class="code_line">begin</div><div class="code_line">SendMessage( ListBox1.Handle, LB_SETTABSTOPS, High( iStops ), LongInt( @iStops ));</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Функция High возвращает индекс последнего элемента в массиве. Если массив индексирован с единицы, вы можете увеличивать количество табуляций, просто добавляя к массиву новые элементы. <br>
Вы также должны установить свойство TabWidth в ненулевое значение, только в этом случае ListBox будет готов принять это сообщение. <br>
Для вставки символа табуляции в ваш текст просто используйте ASCII-символ 9, к примеру так: <br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ListBox1.Items.Add( Format( &#39;%d&#39;#9&#39;%s&#39;#9&#39;%0:d&#39;#9&#39;%s&#39;, [i, Chr( i + Ord( &#39;A&#39; ) - 1 )] ) );</div></ol></div></div></div></div><br>
<br>
Несколько колонок <br>
<br>
Другая малоизвестная особенность ListBox заключается в том, что он может отображать несколько колонок, стоит вам установить их количество в свойстве Columns. <br>
Теперь строки в ListBox будут расположены по типу газетных столбцов, с горизонтальной полосой прокрутки, появляющейся при необходимости. Строки, не помещающиеся в отведенное для них место обрезаются. <br>
<br>
Обе эти возможности просто изменяют вид ListBox. Все остальные функции компонента при этом работают как обычно. <br>
       <br>
Рисунок 1 показывает пример данных возможностей. Верхний ListBox имеет установленные табуляционные интервалы, нижний ListBox имеет несколько колонок. <br>
<br>
Заключение <br>
<br>
Итак, наш скромный ListBox имеет скрытые таланты. Мы увидели, как сделать табулированный список с помощью свойства TabWidth и сообщения LB_SETTABSTOPS. Мы также увидели, как создать мультиколонный список с помощью свойства Columns. Запомните это до следующего раза, когда вы будете использовать ListBox.<br>
</div></div><br>
Пардон, ОР...]]></description>
        <author>Old</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011466</guid>
        <pubDate>Thu, 09 Feb 2006 11:31:08 +0000</pubDate>
        <title>Многоколоночный список</title>
        <link>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011466</link>
        <description><![CDATA[lightstep: Используй TListView в режиме report и узришь несколько колонок у списка. Есть в examples у билдера.]]></description>
        <author>lightstep</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011441</guid>
        <pubDate>Thu, 09 Feb 2006 11:12:13 +0000</pubDate>
        <title>Многоколоночный список</title>
        <link>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011441</link>
        <description><![CDATA[gtyrin: Тогда уж лучше &#39;&#092;t&#39;. Но я уже посмотрел по данной тематике информацию и увидел, что традиционными методами это, к сожалению, не решается  &lt;_&lt;]]></description>
        <author>gtyrin</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011380</guid>
        <pubDate>Thu, 09 Feb 2006 10:35:10 +0000</pubDate>
        <title>Многоколоночный список</title>
        <link>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1011380</link>
        <description><![CDATA[Old: Это Вы о чем  :blink:?<br>
Об этом - <strong class='tag-b'>&#092;n</strong>? :)]]></description>
        <author>Old</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1010141</guid>
        <pubDate>Wed, 08 Feb 2006 07:17:41 +0000</pubDate>
        <title>Многоколоночный список</title>
        <link>https://forum.sources.ru/index.php?showtopic=132020&amp;view=findpost&amp;p=1010141</link>
        <description><![CDATA[gtyrin: Помнится, в Items можно задавать строку для несольких колонок, разделенных каким-то разделителем.<br>Каким - к сожалению не помню. Не подскажете ?]]></description>
        <author>gtyrin</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      </channel>
      </rss>
	