Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Некорректная работа ShowWindow   Найти похожие ветки 

 
BFG9k ©   (2005-11-23 13:54) [0]

Работаю с треем. При сворачивании главной формы делаю следующее :

  ShowWindow(Application.Handle,SW_HIDE);
  ShowWindow(Application.MainForm.Handle,SW_HIDE);


При двойном клике на значке трея :


  ShowWindow(Application.MainForm.Handle,SW_RESTORE);
  ShowWindow(Application.Handle,SW_RESTORE);


Появляются окна, которые перед этим закрывались, их свойство Visible=false. Причем на действия пользователя они не реагируют. В чем дело ?


 
ShiFT   (2005-11-23 14:00) [1]


>   ShowWindow(Application.MainForm.Handle,SW_RESTORE);
>   ShowWindow(Application.Handle,SW_RESTORE);

попробуй SW_NORMAL


 
han_malign ©   (2005-11-23 14:06) [2]

SW_SHOW


 
Попов Виталий   (2005-11-23 14:10) [3]

Вот пример, все работает. Форма одна.

Сворачивание:
Application.ShowMainForm := False;
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);

Отображение:
Application.ShowMainForm:=True;
ShowWindow(Application.Handle, SW_SHOW);
ShowWindow(Application.MainForm.Handle, SW_SHOW);
for I := 0 to Application.MainForm.ComponentCount -1 do
     if Application.MainForm.Components[I] is TWinControl then
       with Application.MainForm.Components[I] as TWinControl do
         if Visible then
         begin
           ShowWindow(Handle, SW_SHOWDEFAULT);
           for J := 0 to ComponentCount -1 do
             if Components[J] is TWinControl then
             ShowWindow((Components[J] as TWinControl).Handle, SW_SHOWDEFAULT);
 end;


 
BFG9k ©   (2005-11-23 14:40) [4]

2 Попов Виталий:

Почему только 2 уровня вложенности компонентов ? ;-) С одной формой все заработает ...


 
Попов Виталий   (2005-11-23 15:01) [5]

to BFG9k
Это фрагмент реальной программы в качестве примера, дальше я думаю можно доработать.


 
BFG9k ©   (2005-11-23 15:42) [6]

Такой строки вообще не должно быть - она бессмысленна (и так все работает)
   Application.ShowMainForm := False/True;

Вообще нужно быть осторожным с ShowWindow и вызывать только для Application , для всех форм же пользовать Show и Hide для корректной работы со свойством Visible.



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.097 c
14-1132659449
Quadro
2005-11-22 14:37
2005.12.11
Требуется довести до ума небольшую программу на Дельфи 7


14-1132224022
PVOzerski
2005-11-17 13:40
2005.12.11
Похоже, цепанул на комп виря или трояна :(


6-1125406898
начинающий
2005-08-30 17:01
2005.12.11
Безопасность в Web


2-1132517824
quadronik
2005-11-20 23:17
2005.12.11
Некорректная дата создания файла


6-1125594470
Alex_Korn
2005-09-01 21:07
2005.12.11
Определение размера закачиваемого файла.