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

📄 unitform1.pas

📁 《Delphi实用程序100例》配套书源码盘
💻 PAS
字号:
unit unitForm1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ImgList, ComCtrls, ToolWin;

type
  TForm1 = class(TForm)
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ImageList1: TImageList;
    procedure ToolBar1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure FormDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure ToolBar1EndDrag(Sender, Target: TObject; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ToolBar1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  // 在一定条件下接受拖曳操作
  Accept := (Source = ToolBar1) and ((x < 60) or (x > Width - 60) or (y < 60) or (y > Height - 60));

end;

procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  // 在一定条件下接受拖曳操作
  Accept := (Source = ToolBar1) and ((x < 60) or (x > Width - 60) or (y < 60) or (y > Height - 60));

end;

procedure TForm1.ToolBar1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
  // 在Toolbar1拖放结束时,重新设置它的Align属性
  if X < 60 then
    ToolBar1.Align := alLeft // 左
  else if X > Form1.Width - 60 then
    ToolBar1.Align := alRight // 右
  else if Y < 60 then else if Y < 60 then
    toolBar1.Align := alTop // 上
  else if Y > Form1.Height - 60 then
    ToolBar1.Align := alBottom; // 下

end;

end.

⌨️ 快捷键说明

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