![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не показывает 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 как есть.