zoukankan      html  css  js  c++  java
  • 控件的移动、改变大小(DELPHI实现)

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls;
    
    type
      TForm1 = class(TForm)
        Panel1: TPanel;
        procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
     releasecapture;
      if (x>=0)and(x<=3) then
      begin
        if (y>=0)and(y<=3) then panel1.perform(wm_syscommand,$f004,0);
        if (y>3)and(y<panel1.height-3) then panel1.perform(wm_syscommand,$f001,0);
        if (y>=panel1.height-3)and(y<=panel1.height) then panel1.perform(wm_syscommand,$f007,0);
      end
      else if (x>3)and(x<panel1.width-3) then
      begin
        if (y>=0)and(y<=3) then panel1.perform(wm_syscommand,$f003,0);
        if (y>3)and(y<panel1.height-3) then panel1.perform(wm_syscommand,$f012,0);
        if (y>=panel1.height-3)and(y<=panel1.width) then panel1.perform(wm_syscommand,$f006,0);
      end
      else if (x>=panel1.width-3)and(x<=panel1.width) then
      begin
        if (y>=0)and(y<=3) then panel1.perform(wm_syscommand,$f005,0);
        if (y>3)and(y<panel1.height-3) then panel1.perform(wm_syscommand,$f002,0);
        if (y>=panel1.height-3)and(y<=panel1.width) then panel1.perform(wm_syscommand,$f008,0);
      end;
    end;
    
    procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    if (x>=0)and(x<=3) then
      begin
        if (y>=0)and(y<=3) then panel1.cursor:=crsizenwse;
        if (y>3)and(y<panel1.height-3) then panel1.cursor:=crsizewe;
        if (y>=panel1.height-3)and(y<=panel1.height) then panel1.cursor:=crsizenesw;
      end
      else if (x>3)and(x<panel1.width-3) then
      begin
        if (y>=0)and(y<=3) then panel1.cursor:=crsizens;
        if (y>3)and(y<panel1.height-3) then panel1.cursor:=crarrow;
        if (y>=panel1.height-3)and(y<=panel1.width) then panel1.cursor:=crsizens;
      end
      else if (x>=panel1.width-3)and(x<=panel1.width) then
      begin
        if (y>=0)and(y<=3) then panel1.cursor:=crsizenesw;
        if (y>3)and(y<panel1.height-3) then panel1.cursor:=crsizewe;
        if (y>=panel1.height-3)and(y<=panel1.width) then panel1.cursor:=crsizenwse;
      end;
    end;
    
    end.
    
    

  • 相关阅读:
    设计模式:访问者模式
    设计模式:模板模式
    三分法——求解凸性函数的极值问题——czyuan原创
    素数&&Miller_Rabbin
    【算法入门】深度优先搜索(DFS)
    快速幂取模
    hrbeu1280Turn the corner
    hdoj_3400Line belt
    【专题】三分法和牛顿迭代法总结
    zoj_3203Light Bulb
  • 原文地址:https://www.cnblogs.com/dabiao/p/1847133.html
Copyright © 2011-2022 走看看