Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Полноэкранный режим формы

Delphi , Программа и Интерфейс , Размеры и Положение

Полноэкранный режим формы

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  Make your application like a game. Full Screen. 
  Disable all of the system keys. 
}

 procedure TForm1.FormCreate(Sender: TObject);
 var
   HTaskbar: HWND;
   OldVal: LongInt;
 begin
   try
     // Find handle of TASKBAR 
    HTaskBar := FindWindow('Shell_TrayWnd', nil);
     // Turn SYSTEM KEYS off, Only Win 95/98/ME 
    SystemParametersInfo(97, Word(True), @OldVal, 0);
     // Disable the taskbar 
    EnableWindow(HTaskBar, False);
     // Hide the taskbar 
    ShowWindow(HTaskbar, SW_HIDE);
   finally
     with Form1 do
      begin
       BorderStyle := bsNone;
       FormStyle   := fsStayOnTop;
       Left        := 0;
       Top         := 0;
       Height      := Screen.Height;
       Width       := Screen.Width;
     end;
   end
 end;

 procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
 var
   HTaskbar: HWND;
   OldVal: LongInt;
 begin
   //Find handle of TASKBAR 
  HTaskBar := FindWindow('Shell_TrayWnd', nil);
   //Turn SYSTEM KEYS Back ON, Only Win 95/98/ME 
  SystemParametersInfo(97, Word(False), @OldVal, 0);
   //Enable the taskbar 
  EnableWindow(HTaskBar, True);
   //Show the taskbar 
  ShowWindow(HTaskbar, SW_SHOW);
 end;


 { 
  Hope you like it ! 
  So if you have any problem using these codes 
  please e-mail me at : 
  babak_sateli@yahoo.com 
  Babak Sateli 
  www.cdcenterco.com 
}

Перевод контента на русский язык:

Программа на Delphi, которая создает полноэкранное приложение, отключает системные клавиши (в частности, панель задач Windows) и скрывает панель задач при запуске. Она также восстанавливает эти настройки при закрытии приложения.

Вот разбивка кода:

  1. В обработчике события FormCreate:
    • Код находит.handle панели задачи с помощью FindWindow('Shell_TrayWnd', nil).
    • Он отключает системные клавиши, вызывая SystemParametersInfo(97, Word(True), @OldVal, 0) (работает только на Windows 95/98/ME).
    • Он отключает и скрывает панель задачи, установив EnableWindow(HTaskBar, False) и ShowWindow(HTaskBar, SW_HIDE).
    • Форма устанавливается в полноэкранное состояние с помощью FormStyle := fsStayOnTop, BorderStyle := bsNone и позиционированием ее в верхнем левом углу экрана.
  2. В обработчике события FormClose:
    • Код находит.handle панели задачи снова с помощью FindWindow('Shell_TrayWnd', nil).
    • Он включает системные клавиши, вызывая SystemParametersInfo(97, Word(False), @OldVal, 0) (работает только на Windows 95/98/ME).
    • Он включает и отображает панель задачи, установив EnableWindow(HTaskBar, True) и ShowWindow(HTaskBar, SW_SHOW).

Предлагаемые изменения:

  1. Использование более robust способа отключения/включения панели задачи, например, с помощью функций Windows API, таких как ShowWindow и SetForegroundWindow.
  2. Реализация проверок для различных операционных систем, чтобы обеспечить совместимость.
  3. Рассмотрение добавления обработки ошибок в случаях, когда панель задачи не найдена или не может быть отключена/включена.

Альтернативное решение с использованием более современных подходов:

procedure TForm1.FormCreate(Sender: TObject);
begin
   // Отключение системных клавиш
  ShowCursor(False);

   // Установка формы в полноэкранное состояние
  FormStyle := fsStayOnTop;
  BorderStyle := bsNone;
  Left := 0;
  Top := 0;
  Height := Screen.Height;
  Width := Screen.Width;

   // Скрывание панели задачи
  ShowWindow(FindTaskbar, SW_HIDE);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   // Восстановление системных клавиш
  ShowCursor(True);

   // Отображение панели задачи
  ShowWindow(FindTaskbar, SW_SHOW);
end;

function FindTaskbar: HWND;
const
  TASKBAR_CLASS = 'Shell_TrayWnd';
var
  Handle: HWND;
begin
  Handle := FindWindowEx(nil, nil, PChar(TASKBAR_CLASS), nil);
  Result := Handle;
end;

В этом коде используется функция ShowCursor для отключения/включения системного курсора и функция FindTaskbar для поиска handle панели задачи. Он также устанавливает форму в полноэкранное состояние с помощью современного синтаксиса Delphi.

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


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Размеры и Положение ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:50:09/0.0038440227508545/0