Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
2-1132915790
Quadro
2005-11-25 13:49
2005.12.11
Запуск из под Делфи


2-1132721989
KGC
2005-11-23 07:59
2005.12.11
В чём фишка ?


2-1133092617
Eksell
2005-11-27 14:56
2005.12.11
Поиск файлов


1-1131612611
Некто Аполло
2005-11-10 11:50
2005.12.11
Overload в DLL


8-1120939291
line
2005-07-10 00:01
2005.12.11
Вопрос о режимах смешивания изображений.




   Наверх