zoukankan      html  css  js  c++  java
  • 窗体上打个矩形的洞

    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;


        




  • 相关阅读:
    javascript概述
    linux系统编程(一)概述
    软件工程
    SQL
    数据结构和算法(一)概述
    cpp标准库
    c语言标准库
    c/c++概述
    编程语言的思考
    GCD学习
  • 原文地址:https://www.cnblogs.com/xe2011/p/3875862.html
Copyright © 2011-2022 走看看