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

Удалить кнопки сворачивания и максимизации с формы

Delphi , Программа и Интерфейс , Формы

Удалить кнопки сворачивания и максимизации с формы

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

{ 
  This article shows by example how to suppress the maximize and 
  minimize buttons on an form at runtime. 
  To disable an form's Minimize and Maximize buttons, 
  you need to use the SetWindowLong Windows API 
  function to change the style of the window. 
}

 { Dieses Beispiel zeigt, wie man die Schaltflachen zur Minimierung, 
  Maximierung einer Form zur Laufzeit verstecken kann. 
  Man braucht dafur die SetWindowLong Windows API um den Stil 
  des Fensters zu andern. 
  Der Code kann auch fur non-VCL Anwendungen gebraucht werden. 
}

 // Add the following code to the OnCreate event 
// procedure for your form (TForm1): 

procedure TForm1.FormCreate(Sender: TObject);
 var
   l: DWORD;
 begin
   l := GetWindowLong(Self.Handle, GWL_STYLE);
   l := l and not (WS_MINIMIZEBOX);
   l := l and not (WS_MAXIMIZEBOX);
   l := SetWindowLong(Self.Handle, GWL_STYLE, l);
 end;

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

Данный код написан на Delphi и предназначен для удаления кнопок минимизации и максимизации с формы в реальном времени. Вот как работает код:

  1. В процедуре события OnCreate (в этом случае, FormCreate) форма получает текущий стиль окна с помощью функции GetWindowLong.
  2. Затем стиль модифицируется с помощью битовых операций (and not) для удаления стилей WS_MINIMIZEBOX и WS_MAXIMIZEBOX.
  3. Наконец, новый стиль устанавливается обратно в окно с помощью функции SetWindowLong. Это эффективно удаляет кнопки минимизации и максимизации с формы.

Вот подробное описание каждой строки:

  • l := GetWindowLong(Self.Handle, GWL_STYLE);:
  • Функция GetWindowLong получает длинное значение окна, которое содержит его стиль.
  • Первый аргумент - это.handle к окну (в этом случае, Self.Handle), а второй аргумент - это индекс значения для получения (GWL_STYLE, который соответствует стилю окна).

  • l := l and not (WS_MINIMIZEBOX);:

  • Эта строка выполняет битовый операцию AND между l и константой hexadecimal WS_MINIMIZEBOX. Результат хранится в l.
  • WS_MINIMIZEBOX - это константа Windows API, которая соответствует стилю минимальной кнопки, позволяющей пользователю минимизировать окно.

  • l := l and not (WS_MAXIMIZEBOX);:

  • Эта строка выполняет еще одну битовый операцию AND между l и WS_MAXIMIZEBOX.
  • WS_MAXIMIZEBOX - это константа Windows API, которая соответствует стилю кнопки максимизации, позволяющей пользователю максимизировать окно.

  • l := SetWindowLong(Self.Handle, GWL_STYLE, l);:

  • Функция SetWindowLong устанавливает длинное значение указанного окна.
  • В этом случае, она устанавливает новый стиль, полученный в шаге 1 и модифицированный в шагах 2 и 3. Это эффективно обновляет стиль окна.

Этот код может использоваться для не-ВCL приложений также.

Статья описывает пример удаления кнопок сворачивания и максимизации с формы при помощи функции SetWindowLong Windows API.


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

Получайте свежие новости и обновления по 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:45:27/0.0053369998931885/1