![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
Код описанный на форуме не дает желаемого результата, а именно
self.ParentWindow остается равным 0 (ноль) и как следствие форма не цепляется к нужному окну. сама форма создается Application.CreateForm(TForm1, Form1). Достичь требуемого результата удалось только через CreateParented. Вопрос: в чем проблема при создании формы через Application.CreateForm (почему в этом случае игнорируется params.WndParent)? Либо я реально глючу... -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 14 Всего: 41 |
При Application.CreateForm форма "цепляется", только поведение у нее отличается от созданной с помощью CreateParented.
По-моему очевидно различие в стилях, с которыми создается окно. Добавь в CreateParams Params.Style:=Params.Style or WS_CHILD; -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
да я часа два комбинации перебирал...
Application.CreateForm никак зацепить не удалось
если бы цеплялось, то значение родителя было бы отличное от нуля... если твой код цепляет главную форму через CreateParams то мне бы хотелось увидеть код ![]() Добавлено через 50 секунд сейчас работаю с Delphi XE -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
Чучмек |
|
|||
НЭТ БИЛЭТ ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 11.5.2008 Где: СССР Репутация: 14 Всего: 41 |
В XE не проверял, нету. На D7 все работает. Сейчас проверил на XE2 - без ws_child - идентично D7 - (при сворачивании "родительского" окна, сворачивается и наше), с ws_child форма создается скрытой, поэтому необходимо добавить form1.Show после Application.CreateForm(TForm1, Form1); А parentWindow действительно возвращает 0 -------------------- умную мысль держи при себе, а дурной - поделись с другими |
|||
|
||||
drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
Проблема как обычно была в ДНК...
Квадрат в котором нужно отобразить форму определен относительно экрана, при создании формы позиционирую ее в этот квадрат... забывая о пересчете его относительно родительского окна... -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |