Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2010, 20:05   #1
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
По умолчанию ScrollWidth в ListBox1

Есть ListBox1 и EditText1.
Текст с EditText1 записывается в ListBox1.
Как сделать, чтобы когда текст выходит за границы ширины ListBox1 появлялась горизонтальная полоса прокрутки, а когда не выходит за границы полоса прокрутки пропадала?
krikaved вне форума Ответить с цитированием
Старый 07.04.2010, 20:12   #2
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Код:
procedure SetHorizontalScrollBar(lb : TListBox) ;
var
  j, MaxWidth: integer;
begin
  MaxWidth := 0;
  for j := 0 to lb.Items.Count - 1 do
  if MaxWidth < lb.Canvas.TextWidth(lb.Items[j]) then
    MaxWidth := lb.Canvas.TextWidth(lb.Items[j]) ;

  SendMessage(lb.Handle,
              LB_SETHORIZONTALEXTENT,
              MaxWidth + 5, 0) ;
end;
//Example
//ListBox1.Items.Add(Edit1.Text);
//SetHorizontalScrollBar(ListBox1);
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 07.04.2010, 20:42   #3
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
По умолчанию

Спасибо, всё работает!
Если бы я ещё знал что такое lb и что делает SendMessage!?
krikaved вне форума Ответить с цитированием
Старый 07.04.2010, 21:35   #4
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Цитата:
Сообщение от krikaved Посмотреть сообщение
Спасибо, всё работает!
Если бы я ещё знал что такое lb и что делает SendMessage!?
lb - TListBox
SendMessage - отправлять сообщения своим или других приложений, если вы знаете Handle,
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод сообщений из Unit2 в Unit1 ListBox1 fize Помощь студентам 4 12.12.2009 17:35
сортировка в ListBox1 Virus191288 Общие вопросы Delphi 4 29.06.2009 21:47
Случайное и неповторяющееся, выделение в ListBox1 Anfall Общие вопросы Delphi 2 22.02.2009 09:45
ListBox1 Rahim1993 Общие вопросы Delphi 1 02.01.2008 17:56