Как свернуть окно на панель задач? (т. е. не iconify)
у меня есть окно, которое я хочу свернуть (на панель задач), поэтому я вызываю ShowWindow
:
ShowWindow(Handle, SW_MINIMIZE);
за исключением того, что вместо того, чтобы минимизировать себя (на панели задач), окно iconified:
окно лишенные родительских прав:
как свернуть окно на панель задач?
обновление:
следуя некоторым советам от 2002, я пытаюсь установить WS_EX_APPWINDOW
стиль окна и / или обеспечение того, что окно не имеет владельца:
к сожалению, это изменяет поведение моего (Delphi) приложения, потому что теперь есть два панель задач иконки для моего приложения, а не один:
это, конечно, артефакт Дельфи (5); и потому что я был пытается решить другую проблему.
но это не должно влиять на этот вопрос. я звоню the ShowWindow(..., SW_MINIMIZE)
API, и вместо того, чтобы минимизировать окна окна iconifying приложение.
как свернуть окно на панель задач?
1 ответов
этот значок на панели задач является значком приложения (дескриптора), а не основной формы.
использование:
Application.Minimize;
Edit: но из обеих ваших ссылок я понимаю,что вы это уже знали...duh ;)
это работает для MainForm:
TForm1 = class(TForm)
private
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
protected
procedure CreateParams(var Params: TCreateParams); override;
...
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
ExStyle := ExStyle or WS_EX_APPWINDOW;
WndParent := GetDesktopWindow;
end;
end;
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
if Msg.CmdType = SC_MINIMIZE then
ShowWindow(Handle, SW_MINIMIZE)
else
inherited;
end;
и скрыть приложения.Дескриптор с панели задач (чтобы иметь только значок панели задач для основной формы): установите Visible
свойство этой формы to True
и скрыть приложения в файле проекта:
Application.Initialize;
Application.CreateForm(TForm1, Form1);
ShowWindow(Application.Handle, SW_HIDE);
Application.Run;
для этой формы ShowWindow(Handle, SW_MINIMIZE);
shóuld работа. Он также обеспечивает функцию масштабирования по умолчанию Windows при минимизации или восстановлении.
(протестировано с D5 & D7 на XP и W7)