首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 项目交易 | 网友作品 | 读书 | ACM题库 | 源码
亲,您未登录哦! 登录 | 注册

实现可缩放的无标题窗体

(加入日期: 2003-01-15 )

打印文章】【字体:

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

uses

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

StdCtrls;


type

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.

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章