⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usub3.pas

📁 下面又是翻译: 韩国人 Silhwan Hyun 改写。 TMagnetic Class 是一个 Delphi 版本的"cMagneticWnd" 类
💻 PAS
字号:
unit uSub3;

interface

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

type
  TfrmChild3 = class(TForm)
    btnClose: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure FormShow(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure WndProc(var Msg_ : TMessage); override;
  end;

var
  frmChild3: TfrmChild3;


implementation

{$R *.DFM}

var
   MagneticWndProc : TSubClass_Proc;

// procedure to subclass form's window procedure for magnetic effect.
procedure TfrmChild3.WndProc(var Msg_ : TMessage);
var
   Handled: boolean;
begin
   if not Assigned(MagneticWndProc) then
   begin
      inherited WndProc(Msg_);
      exit;
   end;

   if (Msg_.Msg = WM_SYSCOMMAND) or (Msg_.Msg = WM_ENTERSIZEMOVE) or (Msg_.Msg = WM_EXITSIZEMOVE) or
       (Msg_.Msg = WM_WINDOWPOSCHANGED) or (Msg_.Msg = WM_COMMAND)then
   begin
      inherited WndProc(Msg_);
      MagneticWndProc(Self.Handle, Msg_.Msg, Msg_, Handled);
   end else if (Msg_.Msg = WM_MOVING) or (Msg_.Msg = WM_SIZING) then
   begin
      MagneticWndProc(Self.Handle, Msg_.Msg, Msg_, Handled);
      if not Handled then
         inherited WndProc(Msg_);

   end else
      inherited WndProc(Msg_);
end;

procedure TfrmChild3.FormShow(Sender: TObject);
begin
  if not Assigned(MagneticWndProc) then
     if Assigned(MagneticWnd) then
        MagneticWnd.AddWindow(Self.Handle, frmParent.Handle, MagneticWndProc);
end;

procedure TfrmChild3.btnCloseClick(Sender: TObject);
begin
   Close;
end;

procedure TfrmChild3.FormDestroy(Sender: TObject);
begin
   if Assigned(MagneticWnd) then
      MagneticWnd.RemoveWindow(Self.Handle);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -