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

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

по поводу control ов [D6, Win2k]


Palladin ©   (2003-01-02 13:19:00) 

Такая ситуация
в dll у меня создается TEdit

MyEdit:=TEdit.Create(nil);
MyEdit.ParentWindow:=p_Owner.Handle;

p_Owner в главной программе (TScrollBox)
dll динамическая
Все нормально отрабатывает. Только маленькая трабла.
при таком способе создания созданый Edit не попадает
в список Conrtols у владельца.
а мне хотелось бы что бы все добавленые туда контролы выстраивались сверху вниз. То есть нужен простейший доступ хотя бы к полю top у всех подконтролов для ScrollBox"а.

Как мне его получить?
Или как правильно прицепить контрол чтобы он появлялся в списке Conrtols?


asmith   (2003-01-02 15:19:00) [1]

Это не поможет. Все равно в нужные моменты код VCL спросит парента вызовом GetParentForm (см. Forms.pas), там стоит "if Control is TCustomForm". Но TCustomForm в апликации и TCustomForm библиотеке будут совершенно разными типами, так что контрол, созданный в бибилиотеке не будет принадлежать форме из головной программы.


Song   (2003-01-02 14:34:00) [2]

MyEdit.Parent:=p_Owner;


asmith   (2003-01-02 14:29:00) [3]

Выход один - собрать апликацию и библиотеку с пакетами времени выполнения. Иначе - куча проблем, в том числе и замеченная тобой. Другие - невозможность обходить все контролы по Tab и Shift-TabЮ неправильная обработка фокуса и пр. Об этом недавно было много дискуссий в этом форуме.


Palladin   (2003-01-02 13:49:00) [4]

если я создаю как

MyEdit:=TEdit.CreateParented(p_Owner.Handle);

выдается сообщение об ошибке. exception в общем.
а
MyEdit:=TEdit.Create(p_Owner)

не имеет смысла так как я MyEdit всеравно в ручную удаляю

чувствую здесь пахнет winapi...


Song   (2003-01-02 13:37:00) [5]

А Parent задать забыл?


Наверх

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