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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2014, 15:09   #1
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию После программного сворачивания окно вручную не разворачивается

Есть вот какая проблемка. Приложение с двумя окнами (формами). Пока вводятся данные во вторую форму - первая свёрнута (Form1.WindowState := wsMinimized). Когда данные во вторую форму вводить заканчиваю и закрываю форму - нужно не программно (т.к. по мере ввода данных второе окно закрывается несколько раз без развёртывания первого и привязать это к его закрытию невозможно) развернуть обратно первое окно (стандартным щелчком по панели задач). Но оно не открывается. В чём здесь проблема и как её можно решить?
Ship_1 вне форума Ответить с цитированием
Старый 20.11.2014, 15:30   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,542
По умолчанию

Цитата:
Но оно не открывается. В чём здесь проблема и как её можно решить?
Оно скорее всего открывается, НО ... в полном соответствии с установленным у него
Цитата:
(Form1.WindowState := wsMinimized)
очень маленького размера (заголовок и только).
попробуй в form1.OnActivate менять windowSate:=wsNormal;
как к этому отнесется
Цитата:
по мере ввода данных второе окно закрывается несколько раз без развёртывания первого
не знаю, но скорее всего также плохо.

А какая причина цикла открыть/закрыть окно при вводе? Почему нельзя ввести все данные при одном показе?
И как сделан это цикл? Может можно и скорее всего даже нужно управлять form1 на входе/выходе из этого цикла.
Если мы продолжаем вводить form1 нам вроде как и ни к чему. И только когда заканчиваем ввод решаем вернуться к нему.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 20.11.2014 в 15:36.
evg_m вне форума Ответить с цитированием
Старый 20.11.2014, 17:08   #3
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 526
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
попробуй в form1.OnActivate менять windowSate:=wsNormal;
как к этому отнесется ____ не знаю, но скорее всего также плохо.
Действительно, получилось Спасибо! И вторая форма ведёт себя как надо.
Цитата:
Сообщение от evg_m Посмотреть сообщение
А какая причина цикла открыть/закрыть окно при вводе? Почему нельзя ввести все данные при одном показе?
И как сделан это цикл?
Просто программа собирает данные из буфера, при копировании в буфер из другой программы.
Как только содержимое буфера изменилось - окно появляется; текст в буфере - наименование, и я добавляю вручную параметры. Потом закрываю окно (при закрытии наименование с параметрами добавляется в таблицу первой формы) и программа уходит в дальнейшее ожидание изменения буфера.
Кстати, никак не пойму, как сделать активной свою форму (вторую) при изменении буфера, чтоб фокус ввода был в моём Edit. Даже такая комбинация
Код:
      Form2.FormStyle:=fsStayOnTop;
      Form2.Show;
      Form2.SetFocus;
      Application.BringToFront;
      SetForegroundWindow(Form2.Handle);
      Form2.Edit1.SetFocus;
просто выводит окно вверх, а активной остаётся то окно, из которого было копирование в буфер...
Ship_1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
tray, не могу убрать с панели когда программа разворачивается Konstantin_ua Компоненты Delphi 0 17.01.2014 13:16
Не разворачивается в нивкакую zhenka619 C# (си шарп) 2 20.08.2012 17:02
Окно после выполнения запроса mortal2010 Microsoft Office Access 6 25.02.2011 13:18
После запуска окно неактивно и активным никак не делается D][mon Общие вопросы Delphi 2 02.11.2010 12:50
Хочу, чтобы окно не закрывалось после выполнения программы fs444 Общие вопросы C/C++ 7 22.09.2009 16:42