| 
| 
 | Вопрос # 4 488/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Возникла проблема отображения программы в TaskBar'е.
 
 Есть главная форма FormManager, которая порождает дочерние формы ввода данных FormInputData.
 Для отображения FormInputData делаю
  FormInputData.ShowModalтогда на заднем плане естественно видна FormManager(потому что из нее запускается все). 
 Проблема: когда нахожусь в FormInputData, нажимаю свернуть - приложение сворачивается. А когда щелкаю по панели этой программы в TaskBar'е появляется главная форма FormManager (с которой ничего сделать нельзя), а не  нужная FormInputData. Нужная форма FormInputData появляется только при комбинации Alt+Tab.
 
 Нужно: в идеале, чтобы когда видна FormInputData, то не видна FormManager  и в TaskBar'е виднелось моя прога.
 
 Пробовал скрыть  FormManager,
 при
 
  TForm(FormInputData.Owner).Hide;
FormInputData.ShowModal();но тогда в TaskBar'e вообще моей проги не видно 
 Использую Delphi 2010
 
 Подскажите, кто чем может
 Спасибо
 
|  |   Вопрос задал: Aндрей (статус: 1-ый класс)Вопрос отправлен: 6 августа 2010, 13:02
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 18; последнее сообщение — 7 августа 2010, 11:55; участников в обсуждении: 4. 
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 13:14 [#1]:Покажите код создания формы. FormStyle случайно не меняли?
 |  
|   | Aндрей (статус: 1-ый класс), 6 августа 2010, 14:04 [#2]:код создания формы 
 FormInputData := TFormInputData.Create(AOwner);причем 
 TFormInputData = class(TForm)
...
constructor TFormInputData.Create(AOwner:TComponent); 
begin
    inherited Create(AOwner);
end;FormStyle не менял
 |  
|   | Aндрей (статус: 1-ый класс), 6 августа 2010, 14:08 [#3]:FormStyle равен fsNormal |  
|   | min@y™ (статус: Доктор наук), 6 августа 2010, 14:10 [#4]:Если форма модальная, то нафига давать возможность свернуть приложение? Сделай у неё BorderStyle:= bsDialog и не парься. Цитата (Aндрей): 
FormInputData := TFormInputData.Create(AOwner); Чему здесть равен Owner?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 14:10 [#5]:попробуйте 
 with TFormInputData.Create(nil) do
try
ShowModal;
finally
Free;
end; |  
|   | Aндрей (статус: 1-ый класс), 6 августа 2010, 14:15 [#6]:Возможность свернуть приложение должна быть(глянуть там в другом месте то, что нужно и т.п.) 
 AOwner равен FormManager
 |  
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 14:19 [#7]:но тогда в TaskBar'e вообще моей проги не видно 
 Конечно, скрываете одну форму, а показать пытаетесь другую.
 |  
|   | Aндрей (статус: 1-ый класс), 6 августа 2010, 14:20 [#8]:Тов. Женька: with TFormInputData.Create(nil) do
 try
 ShowModal;
 finally
 Free;
 end;
 
 если так сделать, проблема останется
 
 Проблема: когда нахожусь в FormInputData, нажимаю свернуть - приложение сворачивается. А когда щелкаю по панели этой программы в TaskBar'е появляется главная форма FormManager (с которой ничего сделать нельзя), а не нужная FormInputData. Нужная форма FormInputData появляется только при комбинации Alt+Tab.
 |  
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 14:20 [#9]:Есть же масса других способов глянуть в другое место. |  
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 14:22 [#10]:А где сворачиваете, вернее, что именно. |  
|   | Aндрей (статус: 1-ый класс), 6 августа 2010, 14:23 [#11]:сворачиваю форму FormInputData стандартной кнопкой "_" справа вверху |  
|   | Вадим К (статус: Академик), 6 августа 2010, 14:26 [#12]:А почему бы не запретить кнопку свернуть в формы пароля? и всех делов то (BorderIcon вроде). Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 14:27 [#13]:Так форма-родитель должна оставаться не свернутой. Так? |  
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 14:34 [#14]:Впишите в событие главной формы FormShow следующее: 
 if ActiveMDIChild <> nil then
 ActiveMDIChild.WindowState := wsNormal;
 |  
|   | Aндрей (статус: 1-ый класс), 6 августа 2010, 14:55 [#15]:Тов. Женька: 
 if ActiveMDIChild <> nil then
ActiveMDIChild.WindowState := wsNormal;Проблема осталась 
 Вадим К:
 "А почему бы не запретить кнопку свернуть в формы пароля? и всех делов то (BorderIcon вроде)"
 Не понял, причем тут пароль, у меня вообще паролей нет никаких
 |  
|   | Тов. Женька (статус: 3-ий класс), 6 августа 2010, 15:00 [#16]:Тогда напишите демонстрационный пример и выложите исходники. |  
|   | Вадим К (статус: Академик), 6 августа 2010, 15:03 [#17]:to Андрей: имелась ввиду форма  FormInputData
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | min@y™ (статус: Доктор наук), 7 августа 2010, 11:55 [#18]:Короче, делай, как я. 
 FormInputData := TFormInputData.Create(Application);
FormInputData.BorderStyle:= bsDialog;
try
  FormInputData.ShowModal();
finally
  FreeAndNil(FormInputData);
end; Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |