Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не показывает Count у ListView на PageControl


Geograph ©   (2012-10-30 21:42:00) 

Если создать приложение с PageControl, содержащим 2 вкладки и разместить на второй вкладке ListView с некоторыми данными, то сразу после запуска приложение не передает количество строк ListView.Items.Count (и сами данные), пока не перейдешь на вкладку с этим ListView. С чем это связано? Как это исправить?

Пример такого приложения:
http://rghost.ru/41243662


Geograph   (2012-10-31 08:01:00) [1]

>где? в исходниках их нет (открывал в D7). запускать твой exe? не шути так.
Вырезка из Unit1.dfm:
object TabSheet2: TTabSheet
     Caption = 'TabSheet2'
     ImageIndex = 1
     ExplicitWidth = 281
     ExplicitHeight = 165
     object ListView1: TListView
       Left = 136
       Top = 64
       Width = 250
       Height = 150
       Columns = <
         item
         end
         item
         end>
Items.ItemData = {          03990000000300000000000000FFFFFFFFFFFFFFFF01000000FFFFFFFF000000          000331003200330004330031003200330000000000FFFFFFFFFFFFFFFF010000          00FFFFFFFF000000000631003200340031003200340006310032003300310032          00330000000000FFFFFFFFFFFFFFFF01000000FFFFFFFF000000000831003200         34003100340031003200340006310032003300310032003300FFFFFFFFFFFF}
       TabOrder = 0
       ViewStyle = vsReport
     end
   end


>странный метод делать чего то... 2009-я дельфя, что не создает хендл (единственное, что может делать этот вызов, в основном и этого не делает, просто возвращает существующий) сама, компоненту положенному на PageControl???
Видимо какой-то глюк в D2009, главное что этот метод работает, на D7 такого нет.


sniknik   (2012-10-31 07:58:00) [2]

> то можно увидеть, что ListView содержит 3 строки и 3 подстроки.
где? в исходниках их нет (открывал в D7). запускать твой exe? не шути так.

> Перед вызовом функции подсчета строк нужно вызвать ListView1.Handle:
странный метод делать чего то... 2009-я дельфя, что не создает хендл (единственное, что может делать этот вызов, в основном и этого не делает, просто возвращает существующий) сама, компоненту положенному на PageControl???


Geograph   (2012-10-31 07:57:00) [3]

Плохиш ©
>>Пример такого приложения:
>> http://rghost.ru/41243662
>Please wait 30 second
>А оно мне надо?

А оно тебе надо было - вообще что-то здесь писать?


Geograph   (2012-10-31 07:36:00) [4]

sniknik ©
>>С чем это связано? Как это исправить?
>с глюком в программе? убрать глюк?
Если ты можешь убрать глюк в IDE RAD Studio 2009, то да, убери, пожалуйста.

>>Пример такого приложения:
>все показывает, естественно, если строки туда внести, а так 0 как есть.
Если пошире открыть глаза, то можно увидеть, что ListView содержит 3 строки и 3 подстроки.

В общем всем спасибо, на другом форуме помогли. Перед вызовом функции подсчета строк нужно вызвать ListView1.Handle:

procedure TForm1.Button1Click(Sender: TObject);
begin
 ListView1.Handle;
 ShowMessage(IntToStr(ListView1.Items.Count));
end;


Плохиш   (2012-10-31 03:26:00) [5]


> Пример такого приложения:
> http://rghost.ru/41243662

Please wait 30 second

А оно мне надо?


sniknik   (2012-10-30 22:29:00) [6]

> С чем это связано? Как это исправить?
с глюком в программе? убрать глюк?

> Пример такого приложения:
все показывает, естественно, если строки туда внести, а так 0 как есть.


Наверх

Титульная страница Поиск, карта сайта Написать письмо