![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Показать форму при получении сообщения [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]А как Вы её сворачиваете? И что с ней происходит, когда она не сворачивается, просто на месте висит?