TTrayIcon для MacOS?

В Windows VCL у меня есть TTrayIcon, чтобы иметь возможность (частично) скрыть мое приложение. Есть ли аналогичный метод, чтобы приложение находилось вне обычного списка задач в MacOS и было доступно только в альтернативном месте, обычно зарезервированном для фоновых приложений?

Специфика заключается в том, что сервер TCP/IP прослушивает порт для входящего трафика, но ему не нужен интерфейс пользовательского интерфейса (за исключением целей настройки). В Windows я справляюсь с этим с помощью TTrayIcon и TPopupMenu, но не знаю, как реализовать аналогичную функциональность в MacOS.

Поддерживает ли MacOS такую ​​функциональность? (Поддерживает ли он область уведомлений/панель задач, где вы можете запускать приложения частично скрыть?) Как это называется в этой ОС?

Ken White 03.05.2019 14:25

Судя по тому, что я видел в сети, у него есть что-то вроде системного трея в правом верхнем углу. Но в противном случае, что делают фоновые службы в MacOS, если они хотят работать «тихо», но при этом предоставлять пользователю доступ к ним?

HeartWare 03.05.2019 19:42
Из того, что я видел в сети? Как вы пишете приложения для MacOS, ничего не зная об ОС?
Ken White 03.05.2019 22:11

Это простой вопрос. Ответ очень прост: с помощью Delphi :-)

HeartWare 04.05.2019 08:48

Если вам нужен аналог приложения со значком в трее для macOS, у меня есть компонент: github.com/DelphiWorlds/KastriFree/blob/master/Core/… и соответствующая демонстрация: github.com/DelphiWorlds/KastriFree/tree/master/Demos/…. Примечание. Работа продолжается.

Dave Nottage 05.05.2019 03:56

@DaveNottage: в итоге я использовал ваш код, который прекрасно работает. К сожалению, ответы на StackOverflow не могут быть просто ссылками на сторонний код или библиотеки, поэтому я приму ответ Олафа, поскольку он указал мне правильное направление. Но большое спасибо за ваш комментарий (и код).

HeartWare 06.05.2019 09:26

@HeartWare Вот почему я разместил это как комментарий :-) Приятно слышать, что это работает для вас. Пожалуйста, не стесняйтесь использовать страницу вопросов, если у вас возникли проблемы: github.com/DelphiWorlds/KastriFree/issues

Dave Nottage 06.05.2019 09:28
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
7
162
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

То, что вы ищете, называется Приложение строки меню для Mac OSX. Поиск «исходный код приложения панели меню macos» даст множество примеров, но я нашел только один (частичный?) пример, написанный в Delphi. Основной используемый API — NSStatusItem.

EDIT: есть пример statusitem.pas для Lazarus/Free Pascal, который может быть полезен для ваших целей.

Спасибо - похоже, это то, что мне нужно. Я проверю это, когда вернусь на работу, и приму ваш ответ, если это действительно то, что я ищу.

HeartWare 04.05.2019 08:56

Другие вопросы по теме