![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Минимизация формы [Delphi, Windows]
DAngel © (2004-02-19 11:49:00)Delphi 6, KOL & MCK 1.90.
Есть форма, надо чтобы она сворачивалась в трей. Я пишу в форме на события OnMinimize и OnRestore следущее:
procedure TForm1.KOLForm1Minimize(Sender: PObj);
begin
TIcon.Active := True;
Applet.Visible := False;
Form.Visible := False;
end;
procedure TForm1.KOLForm1Restore(Sender: PObj);
begin
TIcon.Active := False;
Applet.Visible := True;
Form.Visible := True;
end;
После того как я запускаю программу и нажимаю на кнопку минимизировать появляется иконка в трее, но кнопка из панели задач не исчезает. Если нажать на иконку и развернуть форму, а потом опять ее свернуть то все будет работать нормально. Это глюк или я что-то не то пишу?
ПС: Пробовал обрабатывать события в OnMessage, все работает как надо.
function TForm1.KOLForm1Message(var Msg: tagMSG;
var Rslt: Integer): Boolean;
begin
Result := False;
if (Msg.message = WM_SYSCOMMAND) and
(Msg.wParam = SC_MINIMIZE) then begin
TIcon.Active := True;
Applet.Visible := False;
Form.Visible := False;
Result := True;
end else
if (Msg.message = WM_SYSCOMMAND) and
(Msg.wParam = SC_RESTORE) then begin
TIcon.Active := False;
Applet.Visible := True;
Form.Visible := True;
end;
end;
Но если делать так, то тогда у меня возникает другой вопрос...
Когда я минимизирую окно (OnMinimize и OnRestore) то размер используемой памяти (смотрю в менеджере задач, Вин2к) при минимизации получается около 1Mb, а если минимизировать через OnMessage то так и остается 4Mb.
В чем разница и как это поправить?
Владимир Кладов (2004-02-19 16:57:00) [1]Это все кажущаяся видимость. Наплюйте на нее.