Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2009, 11:54   #1
puga555
Пользователь
 
Регистрация: 12.11.2008
Сообщений: 12
По умолчанию Проблема с ParentWindow или SetParent и так плохо и так(когда одно находится в другом)

form2 это MDIChild. В нем создается обычная форма form3.
PHP код:
procedure TForm1.Button1Click(SenderTObject);
begin
  form2
:=Tform2.Create(application);
  
form3:=Tform3.Create(application);
  
form3.Show;
  
Windows.SetParent(form3.Handleform2.Handle);//ВАРИАНТ 1
//form3.ParentWindow:=form2.Handle;            //ВАРИАНТ 2  
end
Как избежать следующих проблем?
ВАРИАНТ 1
Если делать первым вариантом, то когда активна вложеная форма 3,то форма 2 и форма приложения не активны. А если до снятия фокуса с приложения была активна вложеная форма 3, и окно приложения спряталось за окна других приложений, то вывести его на первый план не удается, так как оно какбы так и остается неактивным.И когда активна дочерняя форма 2, то соответственно форма 3 не активна получается и на ней не работают хоткеи (Таб например) и контролы без фокуса.
ВАРИАНТ 2
Все работает с активностью форм нормально, но контролы не получают фокус на вложеной форме 3 и не работаю хот кеи
puga555 вне форума Ответить с цитированием
Старый 14.12.2009, 23:53   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Не знаю что вы там мудрите, но я сделал вот так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  form2:=Tform2.Create(application);
  form2.Show; 
  form3:=Tform3.Create(application); 
  form3.Show;
  Form3.Parent:=form2;//ВАРИАНТ 1 
//form3.ParentWindow:=form2.Handle;//ВАРИАНТ 2 
end;
и все формы доступны, никто не прячется, все контролы на всех формах работают...
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема так и не решилась... subbota Операционные системы общие вопросы 2 06.09.2009 16:28
Проблема с виндой из за проги,не так ли??? blackstersl Софт 4 26.01.2009 00:36
Можно так сделать или нет??? acdc_acdc Microsoft Office Excel 3 09.02.2008 13:31