Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

TListView без родителя   Найти похожие ветки 

 
BATTLE_MAX   (2007-10-30 13:38) [0]

Здравствуйте, у меня такой вопрос. В приложении без формы я хочу создать в памяти компонент TListView с возможностью записывать в него информацию (Items.Add). Но т.к. приложение не имеет формы то в качестве родителя TListView я указываю nil (ListView1:=TListView.Create(nil)). Но в этом случае при попытке записи в ListView1 происходит ошибка (мол ListView не имеет родителя). Подскажите, может быть, надо создавать компонент как-то подругому? Или без формы этот компонент так использовать нельзя?


 
Ega23 ©   (2007-10-30 13:41) [1]

А зафига тебе в ListView информацию записывать?
Ты её сразу в TImage пихай. Или даже в TPopupMenu
Да, в TPopupMenu - самое оно!


 
BATTLE_MAX   (2007-10-30 13:46) [2]

Ну а если всё же в TListView? Это возможно без формы?


 
clickmaker ©   (2007-10-30 13:48) [3]


> Это возможно без формы?

а почему такая нелюбовь к формам?


 
Ega23 ©   (2007-10-30 13:50) [4]

В угольной шахте я хочу иметь свой самолёт с возможностью установки в него новых кресел. Но для установки кресла требуется салон, а мне он не нужен, т.к. с салоном самолёт в шахту не пролезет.
Подскажите, может нужно тащить самолёт в шахту как-то по-другому? Или без салона этот самолёт использовать нельзя?


 
Ega23 ©   (2007-10-30 13:51) [5]

Чувак, нахрена тебе TListView для хранения информации? Он для отображения предназначен...


 
BATTLE_MAX   (2007-10-30 13:55) [6]

Именно так, мне нужны кресла (Items), а вот визуальная часть (самолёт) мне не нужны. Но судя по ответу я понял что это сделать невозможно. В принципе я как раз и хотел узнать, возможно это или нет.


 
clickmaker ©   (2007-10-30 13:58) [7]


> [6] BATTLE_MAX   (30.10.07 13:55)
> Именно так, мне нужны кресла

для кресел существует много других интересных материалов. TStringList, TList, TClientDataSet, TTable наконец


 
BATTLE_MAX   (2007-10-30 13:58) [8]

Ну я хочу чтобы программа без формы записывала в TListView информацию (каталоги) и сохраняла содержимое в файл. А другая программа (с формой) будет загружать эту информацию из файла и отображать на экране. Поэтому для удобства я хочу чтобы TlistView был и там и там.


 
BATTLE_MAX   (2007-10-30 13:59) [9]

Ну да, я согласен, в принципе можно использовать TStringList, TList, TImageList, TClientDataSet, TTable наконец. Но это всё вразнобой, а так всё в одном TListView


 
Ega23 ©   (2007-10-30 14:01) [10]


> Ну я хочу чтобы программа без формы записывала в TListView
> информацию (каталоги) и сохраняла содержимое в файл. А другая
> программа (с формой) будет загружать эту информацию из файла
> и отображать на экране. Поэтому для удобства я хочу чтобы
> TlistView был и там и там.


Вот это уж точно выдёргивание зуба микроскопом.


 
BATTLE_MAX   (2007-10-30 14:03) [11]

Ладно, буду делать через TStringList и TImageList


 
Ega23 ©   (2007-10-30 14:12) [12]


> Ладно, буду делать через TStringList и TImageList


Зачем????
Хотя - дело твоё...


 
BATTLE_MAX   (2007-10-30 14:22) [13]

Ну а как ещё? Я других путей пока не знаю. Чтобы сохранить картинки TImageList, чтобы текст - TStringList. Ты написал что можно использовать TPopupMenu, но я с ним ни разу не работал.


 
Ega23 ©   (2007-10-30 14:33) [14]


> Ты написал что можно использовать TPopupMenu, но я с ним
> ни разу не работал.


О, Локи, убей его!


 
clickmaker ©   (2007-10-30 14:34) [15]


> использовать TPopupMenu, но я с ним ни разу не работал

а зря. Для хранения списка каталогов - самое то


 
BATTLE_MAX   (2007-10-30 14:35) [16]

Ок, спасибо. Буду разбираться с TPopupMenu.


 
Ega23 ©   (2007-10-30 14:43) [17]

в орешник.


 
Dennis I. Komarov ©   (2007-10-30 14:49) [18]

Не TPopupMenu, а TTimer!


 
BATTLE_MAX   (2007-10-30 14:49) [19]

вряд ли...


 
Игорь Шевченко ©   (2007-10-30 14:52) [20]


> Я других путей пока не знаю


А книжку почитать ?


 
BATTLE_MAX   (2007-10-30 14:55) [21]

Почитаю, не переживайте. Может вопрос и кажется кому-то ламерским, но мне было нужно это узнать, вот и всё.


 
Сергей М. ©   (2007-10-30 14:58) [22]


> мне было нужно это узнать, вот и всё


Никто не заставляет тебя иметь родителем для TListView именно форму.
Родителем м.б. любой объект-наследник TWinControl.


 
BATTLE_MAX   (2007-10-30 15:05) [23]

Но ведь этот объект TWinControl тоже нужно создать. А при его создании я опять таки буду использовать nil? А потом TLisView:=ListView1(объект TWinControl). А это ведь ничего не изменит. Или я что-то недопонимаю?


 
Сергей М. ©   (2007-10-30 15:19) [24]


> Но ведь этот объект TWinControl тоже нужно создать


Разумеется.


> при его создании я опять таки буду использовать nil?


Какой такой "nil" ?

Что вообще мешает твоему приложению иметь форму с ListView-контролом на ней ?


 
Dennis I. Komarov ©   (2007-10-30 15:28) [25]

> Что вообще мешает твоему приложению иметь форму с ListView-
> контролом на ней ?

Заратустра не позволяет (С)


 
BATTLE_MAX   (2007-10-30 15:32) [26]

Да вопрос даже не в том что мешает, а в том возможно ли это вообще сделать не имея формы и других элементов TWinControl в моём приложении, и если да, то как. Конечно я бы мог сделать это с формой, но моё приложение без формы, а TListView я просто решил использовать для хранения данных, т.к. там данные хранятся в удобном виде и у меня есть функция для сохранения его в файл. В общем мне было бы удобней использовать TListView.


> Какой такой "nil" ?

По аналогии с ListView1:=TListView.Create(nil)
WinControl:= TWinControl.Create(nil);


 
Сергей М. ©   (2007-10-30 15:48) [27]


> TListView я просто решил использовать для хранения данных


Ну и храни себе на здоровье.

Создай объект TWinControl методом TWinControl.CreateParentedControl(Applixcation.Handle) и используй его в кач-ве Parent"а для своего ListView


 
Dennis I. Komarov ©   (2007-10-30 15:52) [28]

Я перебью, а каким образом собрался TListView в файл сохранять?


 
Reindeer Moss Eater ©   (2007-10-30 15:54) [29]

Все гораздо интереснее.
Он его собирается использовать как хранилище данных со временем жизни - текущий процесс.

Чума!


 
Reindeer Moss Eater ©   (2007-10-30 15:57) [30]

Просто не всем в детстве мама рассказывала про списки, записи и другие типы данных.


 
BATTLE_MAX   (2007-10-30 15:58) [31]

Функцией, которая сохраняет поэлементно данные из TListView в файл, и подобная функция есть для загрузки из файла в TListView. Я их нашёл в DelphiWorld.


 
Сергей М. ©   (2007-10-30 15:58) [32]


> Чума!


Не то слово)


 
BATTLE_MAX   (2007-10-30 16:03) [33]

Да что вы заладили, я понимаю что так данные не хранят, используют более подходящие вещи, но всё таки.


> Ну и храни себе на здоровье.
>
> Создай объект TWinControl методом TWinControl.CreateParentedControl(Applixcation.
> Handle) и используй его в кач-ве Parent"а для своего ListView


Я сделал так:

 WinControl:=TWinControl.CreateParentedControl(Application.Handle);
 ListView1:=TListView.Create(WinControl);

Но это ничего не изменило, таже самая ошибка. (Control не имеет родительского окна)


 
Сергей М. ©   (2007-10-30 16:05) [34]

Ты разницу между Owner и Parent вообще понимаешь ?


 
Ega23 ©   (2007-10-30 16:09) [35]

Он - листвьюкидатель, что вы к нему пристали?
Не нужны ему никакие Оунеру, Паренты, списки и прочая хренотень - это всё для ламеров.


 
MetalFan ©   (2007-10-30 16:13) [36]

злые вы.. чел только к программированию стал приобщаться...
кроме как в палитры на форму пока ничего не умеет.
а вы его так жостко... попапменю, попаптебю...
ужас! ветка то новичковская)


 
BATTLE_MAX   (2007-10-30 16:15) [37]

Ок, теперь понимаю.

 WinControl:=TWinControl.CreateParentedControl(Application.Handle);
 ListView1:=TListView.CreateParented(WinControl.Handle);

Всё работает.


 
Германн ©   (2007-10-30 16:16) [38]

И в самом деле ну что вы пристали к человеку? Он ведь даже не просит дать ему пример получения списка папок. Он его уже сам надыбал. Вот только увы в примере используется TListView :(((


 
Ega23 ©   (2007-10-30 16:17) [39]


> злые вы.. чел только к программированию стал приобщаться.


Как надо было челу задать вопрос:
Я начинающий программист; мне по ходу выполнения программы надо уметь записывать некоторую информацию (описание информации), которую по завершению работы писать в файл, а потом - восстанавливать.

Я тебя уверяю, никакого намёка на стёб бы не было.


 
BATTLE_MAX   (2007-10-30 16:18) [40]


> злые вы.. чел только к программированию стал приобщаться.
> ..
> кроме как в палитры на форму пока ничего не умеет.
> а вы его так жостко... попапменю, попаптебю...
> ужас! ветка то новичковская)


А ведь верно сказал... про злые :)



Страницы: 1 2 вся ветка

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.019 c
3-1184307277
ambhtr
2007-07-13 10:14
2007.11.25
DBGrid -> OnTitleClick


15-1192793813
DevilDevil
2007-10-19 15:36
2007.11.25
Визуальные компоненты на TDataModule


3-1184266719
WhiteCat
2007-07-12 22:58
2007.11.25
LIKE и регистр


1-1188727240
Al500
2007-09-02 14:00
2007.11.25
TPanel - прорисовка


15-1192354956
Stanislav
2007-10-14 13:42
2007.11.25
Сканер памяти (типа ArtMoney)