Страница 2 из 2
Добавлено: 24 окт 2006, 16:09
Nikoshka
somewhere,
нет, там кнопки, Edit и всякое разное... а вот глюк непонимаю как победить...
Я думал сначала
Код: Выделить всё
Form1.Тут указываем по порядку Пэйд контрол, страницу и тп..InsertControl(MilkSelect);
Чтобы он с ними так делал только для страницы этой, но не работает...
С кнопочкой хорошо, там всего одна форма и она так не глючит, а с закладками вот такая штука..
Добавлено: 24 окт 2006, 23:15
Игорь Акопян
В справке по TWinControl написано что не надо напрямую вызывать InsertControl
Вместо этого лучше использовать свойство Parent, т.е. в вашем случае:
Nikoshka, если мне склероз не изменяет, на PageControl обычно лежат TabSheets

Следовательно, Parent у создаваемых комбобоксов должен быть PageControl.Pages
кроме того конструкция Form1.Controls.ClassNameIs('TComboBox') вернёт значение true только для TComboBox, если же, к примеру, надо проверить TComboBox и его наследников, то придётся использовать класс-оператор IS т.е.:
Код: Выделить всё
if Form1.Controls[I] is TComboBox then TComboBox(Form1.Controls[I])....
Добавлено: 26 окт 2006, 06:40
Nikoshka
Вот оно как!
Оказывается ему по имени хватило установки родителя

Гм, вот только теперь не работает конструкция:
Код: Выделить всё
TListBox(Form1.Controls[k]).Sorted := true;
например.
Так я обращался к этому листбоксу, теперь конструкция не работает...
И вот это тоже не работает:
----------------------
Сидел, пробовал. Вся проблема в том, что я немогу указать что непосредственный родитель это:
так как фактически в нем все и лежит! Но при таком коде все отказывается работать
А если так:
Код: Выделить всё
MilkSelect.Parent := PageControl1.Pages[0].GroupBox2;
То даже запускать не дает...
Добавлено: 26 окт 2006, 08:40
somewhere
MilkSelect.Parent := PageControl1.Pages[0].GroupBox2
Код: Выделить всё
MilkSelect.Parent := PageControl1.Pages[0].Controls[0]
Ты так и не понял структуру? :-)
Добавлено: 26 окт 2006, 12:12
Nikoshka
somewhere,
Вот недавно совсем понял, без всяких заморочек:
MyCombo.Parent := Form1;
они вообще не нужны

Списки и так имеют своего родителя, а при его сменен все едет, я же писал про то как у меня вложены окна по порядку.
В итоге Controls[0] просто метод, который позволяет просматривать своих детей по индексу, который создается по порядку создания самих объектов визуально.
В итоге с проверкой на то ListBox ли это я пребрал их через этот метод. Пока не пробовал, но получается что через Tag можно перебирать только тот диапазон, который нужен, верно?

Добавлено: 26 окт 2006, 13:38
somewhere
Верно, с этого то все и начиналось :-)
Добавлено: 26 окт 2006, 18:07
Игорь Акопян
если ты сделаешь парентом контрола форму, то при листании твоих закладок контролы так и остануться на экране...
Добавлено: 27 окт 2006, 16:54
Nikoshka
Игорь Акопян,
Кто ж про это писал то и недоумевал, что происходит
