Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

Некорректная работа 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
14-1132550780
Дмитрий_05
2005-11-21 08:26
2005.12.11
Ругается на NativeAPI


2-1132588345
psa247
2005-11-21 18:52
2005.12.11
VerQueryValue !


14-1132148771
Yuri Btr
2005-11-16 16:46
2005.12.11
Проблема с RadioEthernet


2-1132826152
JTAG
2005-11-24 12:55
2005.12.11
Народ подскажите по ComboBox


3-1130322965
MakNik
2005-10-26 14:36
2005.12.11
Количесво дней в месяце





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский