Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Показать форму при получении сообщения [D3, D5, Win2k]


fishka ©   (2002-03-22 11:32:00) 

При получении сообщения типа WinPopup, net send я принудительно показываю форму:
ShowWindow(Form1.Handle, SW_SHOWNORMAL);
Все вроде нормально, но потом я не могу свернуть форму.
Где ошибка?


Song   (2002-03-22 22:27:00) [1]

ShowWindow делай для TApplication, а не для TForm


fishka   (2002-03-22 15:42:00) [2]

Не подходит 4 пункт: данная команда не выполняется, так как не пришло нового сообщения и (MsgHdl=0 and Buff=""), поэтому команда ShowWindow не может выполниться.
Может, будут еще предположения? Может, вообще не такформу лучше поднимать из свернутого или обычного состояния?


AFROLOV   (2002-03-22 15:29:00) [3]

А таймер у тебя продолжает работать? Если это так, то, возможно происходит следущее:
1. Ты нажимаешь "-"
2. Форма минимизируется
3. Происходит событие OnTimer
4. выполняется команда ShowWindow(Form1.Handle, SW_SHOWNormal);, которая раскрывает форму.


fishka   (2002-03-22 15:07:00) [4]

Кнопка ("-") есть.
Вот код на Timer.OnTimer (закрытие окна Службы сообщений, запись в Мемо и поднятие формы):
Buff:="";
MsgHdl:=FindWindow(PChar("#32770"),PChar("Служба сообщений "));
name_w:="Служба сообщений ";
if (MsgHdl<>0) then GetWindowText(GetDlgItem(MsgHdl,65535),Buff,sizeof(Buff));
if (MsgHdl<>0) and (Buff<>"") then begin
Memo2.Lines.Add(strpas(Buff));
SendMessage(findwindow(nil,name_w),wm_syscommand,sc_close,0);
ShowWindow(Form1.Handle, SW_SHOWNormal);
end;

Ну а потом я не могу форму свернуть кнопкой "-" ...


AFROLOV   (2002-03-22 14:42:00) [5]

Приведи код для работы с формой. И еще вопрос: у тебя эта кнопка ("-") есть?


fishka   (2002-03-22 13:54:00) [6]

Свернуть = нажать кнопку "-" в правом верхнем углу окна (формы).


AFROLOV   (2002-03-22 13:49:00) [7]

А что ты понимаешь под "свернуть" - сделать так что бы её совсем не было видно?


fishka   (2002-03-22 13:46:00) [8]

Если написать:
ShowWindow(Form1.Handle, SW_SHOWMINIMIZED);
то она не раскрывается, а только появляется внизу ее название.
И по-прежнему ее нельзя свернуть -.
Побирать флаги уже пробовано, но результата нет.


AFROLOV   (2002-03-22 12:58:00) [9]

Попробуй: ShowWindow(Form1.Handle, SW_SHOWMINIMIZED);
Или подбери другой флаг.


fishka   (2002-03-22 11:43:00) [10]

Сворачиваю - . Да, просто висит. Можно только закрыть.


Song   (2002-03-22 11:34:00) [11]

А как Вы её сворачиваете? И что с ней происходит, когда она не сворачивается, просто на месте висит?


Наверх

Титульная страница Поиск, карта сайта Написать письмо