首页 > 代码库 > 窗体上打个矩形的洞
窗体上打个矩形的洞
step1 在窗体上打个矩形的洞{鼠标可以穿透这个窗体}
procedure MakeRectHole(Ctrl:TWinControl;Form:TForm);
var
Rgn1, Rgn2: HRGN;
begin
Rgn1 := CreateRectRgn(0,0, Form.Width, Form.Height);
Rgn2 := CreateRectRgn(Ctrl.Left, Ctrl.Top,Ctrl.Left+ Ctrl.Width,Ctrl.Top+ Ctrl.Height);
CombineRgn(Rgn1, Rgn1, Rgn2, RGN_DIFF);
SetWindowRgn(Form.Handle, Rgn1, TRUE);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MakeRectHole(Panel1,Form1);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle:=BsNone;
WindowState:= wsMaximized;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture();
SendMessage(Panel1.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
MakeRectHole(Panel1,Form1);
end;
无标题 但能拖拽
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) xor WS_CAPTION);
Height := ClientHeight;
end;
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。