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

Хостинг


Изменяем размеры у окна, не имеющего границ

PDF Печать
Статьи

По умолчанию, форма имеет кнопки сворачивания и разворачивания окна, может менять размеры при помощи мыши, а также имеет меню, при помощи которого можно выполнять эти функции.

Свойство BorderStyle объекта Form Delphi может быть использовано для задания внешнего вида формы и его поведения в процессе изменения ее размеров.

BorderStyle = bsNone используется, когда Вы хотите убрать окантовку и заголовок формы, оставив лишь содержимое. Этот параметр часто используется при создании заставки приложения. Но имеется один недостаток при установке BorderStyle = bsNone: размер формы не может быть изменен в процессе выполнения.

Меняем размер формы, не имеющей границ

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


procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  BorderStyle:= bsNone;
  inherited;
  Params.ExStyle:= Params.ExStyle or WS_EX_STATICEDGE;
  Params.Style:= Params.Style or WS_SIZEBOX;
end;

При этом не забудьте объявить процедуру в модуле формы:


type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CreateParams(var Params: TCreateParams); override;
  end;

var
  Form1: TForm1;

Свойство BorderStyle = bsNone можно указать и в процессе разработки в Object Inspector.


 

Добавить комментарий


Защитный код
Обновить