Отображение проги в панели задач

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Отображение проги в панели задач

Сообщение Vadim » 19.09.2018 13:21:43

Что-то я забыл: есть ли в Lazarus какой-нибудь "внеОСный" параметр, чтобы запущенная программа (оконная, естественно) не отображалась на панели задач? Если нет, то как можно сделать и в винде и в Linux (KDE и XFCE).
Vadim
долгожитель
 
Сообщения: 2783
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Отображение проги в панели задач

Сообщение pupsik » 19.09.2018 17:56:06

showintaskbar, или апи ДЕ.
pupsik
энтузиаст
 
Сообщения: 1119
Зарегистрирован: 20.08.2014 16:20:13

Re: Отображение проги в панели задач

Сообщение Ichthyander » 19.09.2018 18:17:01

Код: Выделить всё
TForm.Hide
Аватара пользователя
Ichthyander
постоялец
 
Сообщения: 428
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Отображение проги в панели задач

Сообщение Vadim » 19.09.2018 19:03:26

Ichthyander
А если форма на экране нужна в развёрнутом состоянии? :-)
Vadim
долгожитель
 
Сообщения: 2783
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Отображение проги в панели задач

Сообщение Ichthyander » 19.09.2018 19:13:14

Vadim писал(а):Ichthyander
А если форма на экране нужна в развёрнутом состоянии? :-)

Код: Выделить всё
MainForm.Show; // :)

Я думал, что Вам нужно скрывать главное окно в системный трей и разворачивать оттуда. Обычно это нужно. Если это не нужно, то как выше написал pupsik, тоже свойство главного окна
Аватара пользователя
Ichthyander
постоялец
 
Сообщения: 428
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Отображение проги в панели задач

Сообщение Vadim » 19.09.2018 19:21:32

Ichthyander
Есть окошко, которое должно быть всегда сверху (где-нибудь скромно в уголке) и показывает, к примеру, сколько минут осталось до начала цепной реакции в ядерных отходах. :-) Оно в панели задач не нужно, поскольку не сворачивается, не положено ему. И, следовательно, не разворачивается...
Vadim
долгожитель
 
Сообщения: 2783
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Отображение проги в панели задач

Сообщение Ichthyander » 19.09.2018 19:32:08

Vadim писал(а):Ichthyander
Есть окошко, которое должно быть всегда сверху (где-нибудь скромно в уголке) и показывает, к примеру, сколько минут осталось до начала цепной реакции в ядерных отходах. :-) Оно в панели задач не нужно, поскольку не сворачивается, не положено ему. И, следовательно, не разворачивается...

Ясно. Тогда понятно. Кстати, лайфхак: можете тогда не заморачиваться с освобождением ресурсов при окончании работы программы
Аватара пользователя
Ichthyander
постоялец
 
Сообщения: 428
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Отображение проги в панели задач

Сообщение Alex2013 » 20.09.2018 19:08:17

Можно прямо на десктопе что-то нарисовать а программу объявить "сервисом" ( в этом случае в панели задач ничего не отображается ) ... Рецепт для винды как оно в Линукс точно не знаю.. Но вроде аналогично .

http://www.freepascal.ru/article/lazaru ... 403120204/
Alex2013
энтузиаст
 
Сообщения: 1000
Зарегистрирован: 03.04.2013 11:59:44

Re: Отображение проги в панели задач

Сообщение Vadim » 11.10.2018 16:43:21

Alex2013
Сервис у меня уже есть, а оконная программа нужна для общения с пользователем. Если рисовать прямо на рабочем столе, придётся потом вручную картинку постоянно восстанавливать... ;-)
------------------------------
Если потом кому-то будет интересно, убрать кнопку из TaskBar развёрнутого на экране приложения удалось только с помощью ITaskBar. Любые другие методы (советов в инете куча...) оказались нерабочие. Пример только для Windows (версии 7 или выше. На более старых не испытывал):
Код: Выделить всё
Uses ... {$IFDEF WINDOWS}, windows, comobj, shlobj{$ENDIF}

procedure TForm1.FormShow(Sender: TObject);
Var
  Taskbar: ITaskbarList;
Begin
  ...
  Taskbar := CreateComObject(CLSID_TaskbarList) as ITaskbarList;
  Taskbar.HrInit;
  Taskbar.DeleteTab(Application.Handle);
End;

Показываемые на экране окна имеют BorderStyle либо bsNone (чтобы никто менюшкой окна не набедокурил), либо bsSingle (там, где заголовок окна нужен, например, чтобы таскать окно по экрану).
Form1 - главное окно в приложении.
Чуть попозже исследую другие графические оболочки и попробую что-нибудь универсально написать... :)
Vadim
долгожитель
 
Сообщения: 2783
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Рейтинг@Mail.ru