阅读背景:

实现无标题栏但有边框的窗口

来源:互联网 
本例效果图:



代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    procedure CheckBox1Click(Sender: TObject);
  private
    procedure MyMsg(var Msg: TWMNCHitTest); message WM_NCHITTEST;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) xor WS_CAPTION);
  if not CheckBox1.Checked then begin Hide; Show; end;
end;

procedure TForm1.MyMsg(var Msg: TWMNCHitTest);
begin
  Inherited;
  if Msg.Result = HTCLIENT then Msg.Result := HTCAPTION;
end;

end.

 
 
 
  unit Unit1;

i



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: