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