• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

实现可缩放的无标题窗体_Delphi

Delphi 搞代码 3年前 (2018-08-09) 153次浏览 已收录 0个评论

怎样可以不要Form的标题栏和边界但可以保留改变Form的大小的功能:

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

type

http://www.gaodaima.com/?p=66028实现可缩放的无标题窗体_Delphi

TForm1 = class(TForm)

private

procedure WmNCHitTest(var Msg : TWMNCHitTest); message WM_NCHITTEST;

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WmNCHitTest(var Msg: TWMNCHitTest);

const v=10; //border width

var p:TPoint;

begin

p:=Point(Msg.XPos,Msg.YPos);

p:=ScreenToClient(p);

if PtInRect(Rect(0,0,v,v),p) then

Msg.Result:=HTTOPLEFT

else if PtInRect(Rect(Width-v,Height-v,Width,Height),p) then

Msg.Result:=HTBOTTOMRIGHT

else if PtInRect(Rect(Width-v,0,Width,v),p) then

Msg.Result:=HTTOPRIGHT

else if PtInRect(Rect(0,Height-v,v,Height),p) then

Msg.Result:=HTBOTTOMLEFT

else if PtInRect(Rect(v,0,Width-v,v),p) then

Msg.Result:=HTTOP

else if PtInRect(Rect(0,v,v,Height-v),p) then

Msg.Result:=HTLEFT

else if PtInRect(Rect(Width-v,v,Width,Height-v),p) then

Msg.Result:=HTRIGHT

else if PtInRect(Rect(v,Height-v,Width-v,Height),p) then

Msg.Result:=HTBOTTOM;

Inherited;

end;

end.

欢迎大家阅读《实现可缩放的无标题窗体_Delphi,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址