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

Сделать форму меньше 112 пикселей

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

Сделать форму меньше 112 пикселей

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

{ 
  In order to allow very small windows, 
  you need to override the default behavior for Windows message WM_GETMINMAXINFO. 
  This message is sent to your window by the OS in order to find out 
  the minimum and the maximum allowed window size. 
  You can do this by adding this method procedure to your form: 
}

 private
   procedure GetMinMaxInfo(var Msg: TWMGETMINMAXINFO); message WM_GETMINMAXINFO;
   { Private declarations }
 public
   { Public declarations }
 end;

 var
   Form1: TForm1;

 implementation

 {$R *.dfm}

 procedure TForm1.GetMinMaxInfo(var Msg: TWMGETMINMAXINFO);
 begin
   inherited;
   with Msg.MinMaxInfo^ do
   begin
     ptMinTrackSize.X := 0; // min. Width 
    ptMinTrackSize.Y := 0; // min. Height 
  end;
 end;

 procedure TForm1.FormCreate(Sender: TObject);
 begin
   { no systemmenu }
   BorderIcons := BorderIcons - [biSystemMenu];
   { set the form's width & height }
   Width := 80;
   Height := 60;
 end;

Для уменьшения размера формы до 112 пикселей можно модифицировать процедуру FormCreate, чтобы установить начальную величину формы. Однако, если вы хотите, чтобы форма была очень мала, вам также нужно переопределить процедуру GetMinMaxInfo, как показано в коде.

Процедура GetMinMaxInfo используется для указания минимального и максимального размера окна. Установка ptMinTrackSize.X и ptMinTrackSize.Y в 0 говорит операционной системе, что форма может быть изменена в любом маленьком размере, включая размеры меньше 112 пикселей.

Вот модифицированный код:

private
   procedure GetMinMaxInfo(var Msg: TWMGETMINMAXINFO); message WM_GETMINMAXINFO;
   { Private declarations }
 public
   { Public declarations }
 end;

 var
   Form1: TForm1;

 implementation

 {$R *.dfm}

 procedure TForm1.GetMinMaxInfo(var Msg: TWMGETMINMAXINFO);
 begin
   inherited;
   with Msg.MinMaxInfo^ do
   begin
     ptMinTrackSize.X   := 0;   // минимальная ширина
     ptMinTrackSize.Y   := 0;   // минимальная высота
   end;
 end;

 procedure TForm1.FormCreate(Sender: TObject);
 begin
    { без системного меню }
   BorderIcons   := BorderIcons - [biSystemMenu];
    { установка начальной ширины и высоты формы }
   Width   := 10;   // Установка начальной ширины в 10 пикселей
   Height  := 20;   // Установка начальной высоты в 20 пикселей
 end;

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

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

Сделать форму меньше 112 пикселей можно, переопределив поведение при отправке Windows-сообщения WM_GETMINMAXINFO и задав минимальные размеры формы в процедуре GetMinMaxInfo.


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

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




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


:: Главная :: Формы ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-01-28 05:27:12/0.0033698081970215/0