Данный код позволяет создать окно без неклиентской области, но с толстым бордюром:
unit MainFrm;
interfaceuses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TMainForm = class(TForm)
btnClose: TButton;
procedure btnCloseClick(Sender: TObject);
private{ Private declarations }protected// Capture the WM_NCHITTEST message to enable moving the form.procedure WMNCHitTest(varmessage: TWMNCHitTest); message WM_NCHITTEST;
public{ Public declarations }procedure CreateParams(var Params: TCreateParams); override;
end;
var
MainForm: TMainForm;
implementation{$R *.DFM}procedure TMainForm.WMNCHitTest(varmessage: TWMNCHitTest);
begininherited;
message.Result := HTCAPTION;
end;
procedure TMainForm.CreateParams(var Params: TCreateParams);
begininherited CreateParams(Params);
Params.Style := WS_THICKFRAME or WS_POPUP or WS_BORDER;
end;
procedure TMainForm.btnCloseClick(Sender: TObject);
begin
Close;
end;
end.
Данное описание статьи описывает способ переопределения параметров формы в Delphi, позволяя создать окно с толстым бордюром без неклиентской области.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.