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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2012, 07:27   #1
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию Чем отличается ListBox.Count от ListBox.Items.Count

Чем отличается ListBox.Count от ListBox.Items.Count ?
bakanaev вне форума Ответить с цитированием
Старый 16.08.2012, 07:38   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Тем, что второй код показывает количество строк в компоненте. А почему возник такой вопрос?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.08.2012, 07:48   #3
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Тем, что второй код показывает количество строк в компоненте. А почему возник такой вопрос?
А первый что показывает?
bakanaev вне форума Ответить с цитированием
Старый 16.08.2012, 08:08   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Первый показывает то же самое, только если стиль листбокса lbVirtual или lbVirtualOwnerDraw. При этом элементы листбокса разработчик приложения должен создавать динамически, используя события компонента, а Items как TStrings не существует.
Прик вне форума Ответить с цитированием
Старый 16.08.2012, 10:47   #5
volvo877
Форумчанин
 
Аватар для volvo877
 
Регистрация: 01.06.2009
Сообщений: 108
По умолчанию

Цитата:
Первый показывает то же самое, только если стиль листбокса lbVirtual или lbVirtualOwnerDraw.
Ничего похожего. Показывает Count количество элементов всегда, а вот устанавливать его можно (и нужно) только для приведенных выше двух стилей.
volvo877 вне форума Ответить с цитированием
Старый 16.08.2012, 12:35   #6
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

TC могли бы и сами посмотреть

Код:
function TCustomListBox.GetCount: Integer;
begin
  if Style in [lbVirtual, lbVirtualOwnerDraw] then
    Result := FCount
  else
    Result := Items.Count;
end;


procedure TCustomListBox.SetCount(const Value: Integer);
var
  Error: Integer;
begin
  if Style in [lbVirtual, lbVirtualOwnerDraw] then
  begin
    // Limited to 32767 on Win95/98 as per Win32 SDK
    Error := SendMessage(Handle, LB_SETCOUNT, Value, 0);
    if (Error <> LB_ERR) and (Error <> LB_ERRSPACE) then
      FCount := Value
    else
      raise Exception.CreateFmt(SErrorSettingCount, [Name]);
  end
  else
    raise Exception.CreateFmt(SListBoxMustBeVirtual, [Name]);
end;

Последний раз редактировалось astecenko; 16.08.2012 в 12:38.
astecenko вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Listbox.items и имя файла L3zh1Y Помощь студентам 1 09.11.2011 12:02
Прокрутка выделения Items в Listbox колёсиком мышки werrey Общие вопросы Delphi 4 18.10.2011 08:21
Items в listbox Афанасий[vedma] Компоненты Delphi 12 14.07.2011 16:20
в ListBox Items менял текст quarty Общие вопросы Delphi 4 14.10.2010 21:07
поочередный клик на все items в listbox CraZZy RabbIt Общие вопросы Delphi 6 11.03.2009 15:13