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

Окно без заголовка

Delphi , Программа и Интерфейс , Заголовок формы

Окно без заголовка

Билл Гейтс плохо учился в школе. Бывало, только смотрит в окно и ничего не делает. Любил он окна.

Для создания окна без заголовка с любым стилем контура сделайте следующее:

Добавьте объявление процедуры


procedure CreateParams(var Params: TCreateParams); override;

и ее реализацию:


procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  with Params do
    Style := (Style OR WS_POPUP) AND NOT WS_DLGFRAME;
end;

Установите BorderStyle в bsSizeable.

Here's the translation of the text into Russian:

Код, представленный ниже, является частью программы Delphi (Object Pascal), которая создает окно без заголовка используя класс TForm. Процедура CreateParams переопределяет поведение по умолчанию конструктора класса TForm, чтобы настроить параметры окна.

Вот, что каждый часть кода делает:

  1. Первая строка procedure CreateParams( var Params: TCreateParams ); override; объявляет новый метод, называемый CreateParams, который принимает переменную параметр Params типа TCreateParams. Ключевое слово override указывает, что этот метод переопределяет реализацию, предоставленную родительским классом.
  2. Внутри процедуры CreateParams есть вызов inherited CreateParams( Params );, который вызывает реализацию по умолчанию метода CreateParams, чтобы настроить параметры окна.
  3. Следующая строка with Params do начинается блок, в котором мы можем доступаться свойств объекта Params без необходимости добавлять к ним префикс Params..
  4. Строка Style := (Style OR WS_POPUP) AND NOT WS_DLGFRAME; устанавливает свойство Style окна в (WS_POPUP OR WS_BORDER) и отключает WS_DLGFRAME. Это создает неувидимое, безрамное окно без заголовка.
  5. Наконец, есть заявление end, которое отмечает конец блока и процедуры.

Цель этого кода - создать окно, которое не имеет заголовка (или рамки) и является фиксированным в размере. Это может быть полезно для создания маленьких, неинтрузивных окон, которые используются преимущественно как инструменты или утилитарные окна.

Альтернативное решение с использованием свойства BorderStyle:

procedure TForm1.FormCreate(Sender: TObject);
begin
  BorderStyle := bsSizeable;
end;

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

В статье описывается процесс создания окна без заголовка с любым стилем контура, для которого нужно добавить объявление процедуры CreateParams и ее реализацию.


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

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




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


:: Главная :: Заголовок формы ::


реклама


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

Время компиляции файла: 2024-11-30 11:42:55
2024-12-11 00:22:33/0.0035109519958496/0