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

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

Почему перестает работать кнопка "Свернуть" ? [D7, WinXP]


Zoom ©   (2010-05-05 18:26:00) 

Кнопка "Свернуть" перестает работать, если выполнить напр.
ShowWindow( Form1.Handle, SW_RESTORE);
при свернутом приложении в панели задач... если приложение не было свернуто, или наоборот "Развернуто" то кнопка "Свернуть" продолжает работать... такая же ситуация после  

SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);
SetWindowPos(Form1.Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);

Что нужно восстановить в Form1 чтобы форма снова могла сворачиваться  ???


~AQUARIUS~   (2010-05-06 20:18:00) [1]

Рекомендую прочитать: http://delphikingdom.com/asp/viewitem.asp?catalogid=1326


Zoom   (2010-05-06 04:28:00) [2]


> Нужно не использовать API-функции напрямую с VCL.

Вы имеете ввиду использовать "SendMessage" - так будет более корректно ?

а как быть тогда например с FlashWindowEx ?
там тоже глюк имеется, нужно отдельно для  Application.Handle и form1.Handle вызывать функцию...


var
 fInfo: FLASHWINFO;
begin
 fInfo.cbSize := SizeOf(fInfo);
 fInfo.hwnd := Application.Handle;
 fInfo.dwFlags := FLASHW_ALL or FLASHW_TIMERNOFG;
 fInfo.uCount := 0;
 fInfo.dwTimeout := 0;
 FlashWindowEx(fInfo);
 fInfo.hwnd := form1.Handle;
 FlashWindowEx(fInfo);


~AQUARIUS~   (2010-05-05 19:59:00) [3]

Нужно не использовать API-функции напрямую с VCL.

SendMessage(Form1.Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);


Наверх

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