Тема: Формы
Показать сообщение отдельно
  #2  
Старый 01.03.2013, 01:02
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от kaktusad
...как сделать, чтобы при сворачивании любой формы программы, она сворачивалась в панель задач, а не отдельным окном над ней...
Надо смотреть, что происходит при сворачивании формы. Если она главная, то ей идёт сообщение Application.Minimize, а если дочерняя, то лишь Form2.Minimize. Поэтому форма не прячется, а остаётся на экране в минимизированном виде. Вариант решения: при минимизации управлять её видимостью, а для этого прописываем в юните скрываемой формы такую процедуру
Код:
...
type
  TForm2 = class(TForm)
    
procedure WMSysCommand(var message: TWMSysCommand);
    message WM_SysCommand;
...
и собсно её тельце после implementation
Код:
procedure TForm2.WMSysCommand(var message: TWMSysCommand);
begin
if message.CmdType = SC_MINIMIZE then Form2.Visible:= false
else Inherited;
end;
Теперь при получении приказа свернуться, форма вместо этого будет скрываться.
Ответить с цитированием