При минимизации формы я использую RxTrayIcon, чтобы при этом исчезла
кнопка из Панели задач вызываю ShowWindow(Application.Handle,SW_HIDE).
Но вот незадача - не получается при восстановлении приложения (после клика
на TrayIcon) добиться, чтобы оно становилось поверх других окон и обязательно было активным.
Дело оказалось в следующем : гасить Tray-иконку надо в последнюю очередь,
именно так все работает(ранее сначала гасил Tray-иконку, а уже потом восттанавливал свое приложение).
Таким образом правильно работает следующий код:
Code: |
procedure TForm1.ApplicationMinimize(Sender : TObject); begin RxTrayIcon1.Show; ShowWindow(Application.Handle,SW_HIDE); end;
procedure TForm1.RxTrayIcon1Click(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Application.Restore; SetForeGroundWindow(Application.MainForm.Handle); RxTrayIcon1.Hide; end; |
Авторы ответа: Song, Den
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!