Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Вниз
Минимизация окна... Найти похожие ветки
← →
atomAltera © (2008-08-14 18:55) [0]Привет Вем!
Короче, такая ситуация:
Многооконное приложение. Иконка в таск баре отображаться не должна. Имееться обработчик сообщения onClick у иконки в трее. Главная форма может быть как fsNormal, так и fsStayOnTop. Надо, что бы при событии trayIcon.OnClick, если приложения етображаеться, то спрятать его, в противном случае показать. Сложность в слёдующем: если ваполняю "Свернуть все окна" (Win+D), то если главная форма отображаеться и она не fsStayOnTop, то она изчезает вместе с остальными, но потом пояеляеться только после нескольких кликов к трее. После чего, если теряет фокус, тут-же снова изчезает.
Я сделал так:procedure{ application.onMinimize }TEXE_FORM1.min(dender: tObject);
begin
Application.ShowMainForm := false;
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);
fv := false;
end;
procedure{ щелчёк в трее }TEXE_FORM1.TrayIcon1Click(Sender: TObject);
begin
if fv then
begin
Application.ShowMainForm := false;
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);
fv := false;
end
else
begin
Application.ShowMainForm := true;
//ShowWindow(Application.Handle, SW_RESTORE);
ShowWindow(Application.MainForm.Handle, SW_NORMAL);
SetForegroundWindow(Application.MainForm.Handle);
fv := true;
end;
end;
procedure{ Сообщение: Активация формы }TEXE_FORM1.wmActivate(var msg: tWMActivate);
begin
ShowWindow(Application.Handle, SW_HIDE)
end;
Помогите пожалуйста.
← →
Сергей М. © (2008-08-14 22:18) [1]
> Application.ShowMainForm := false;
> Application.ShowMainForm := true;
Ты вообще-то понимаешь, что ты говоришь этими строчками ?
← →
atomAltera © (2008-08-15 07:31) [2]Нет.
Я этот код нашёл в справочнике...
← →
Loginov Dmitry © (2008-08-15 07:59) [3]> //ShowWindow(Application.Handle, SW_RESTORE);
> ShowWindow(Application.MainForm.Handle, SW_NORMAL);
>
> SetForegroundWindow(Application.MainForm.Handle);
Видимость формы ты восстановил, но почему не восстанавливаешь видимость Application, или у тебя Delphi2007, где по умолчанию значек в таскбаре относится к главной форме, а не к Application?
> Я этот код нашёл в справочнике...
мдя...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c