Перейти к содержанию
Fire Monkey от А до Я
  • 0

Перемещение приложения в macOS на передний план


Tumaso

Вопрос

Подскажите, каким образом приложение на macOS может переместить себя на передний план?

Для Windows это делается следующим образом

{$IFDEF MSWINDOWS}
  LHandle := FormToHWND(Self);
  BringWindowToTop(LHandle);
  SetForegroundWindow(LHandle);
{$ENDIF}

А как это сделать на маке, пока непонятно

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

В телеге подсказали куда копать, в итоге решение оказалось простым
 

var
  LAutoReleasePool: NSAutoReleasePool;
  LNSApp: NSApplication;
  LNSWin: NSWindow;
begin
  LAutoReleasePool := TNSAutoreleasePool.Create;
  try
    LNSApp := TNSApplication.Wrap(TNSApplication.OCClass.sharedApplication);
    LNSApp.activateIgnoringOtherApps(True);

    LNSWin := WindowHandleToPlatform(Self.Handle).Wnd;  // у меня Self это главная форма приложения
    if (LNSWin <> nil) and LNSWin.isVisible then
      LNSWin.makeKeyAndOrderFront(NSObjectToID(LNSApp));
  finally
    LAutoReleasePool.release;
  end;
end;

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...