亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? proxy.pas

?? delphi 寫的delphi的程序 Handel is a free, standalone development tool created with Delphi 3 that enable
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit Proxy;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls,TypInfo, Buttons, DsgnIntf,ExtCtrls, Menus;

  {$Include handel.inc}

type
  TGrabPosition = (gpBottomLeft, gpLeft, gpTopLeft, gpTop,
                   gpTopRight, gpRight, gpBottomRight, gpBottom);
  TGrabHandles = class;
  TGrabHandle = class(TCustomControl)
  private
    fPosition: TGrabPosition;
    fControl: TControl;
    fDragging: Boolean;
    fDragPoint: TPoint;
    fDragRect: TRect;
    fSize: Cardinal;
    fHandles: TGrabHandles;
    fColor:TColor;
    fMultiSelected:Boolean;
    procedure SetMultiSelected(Value:Boolean);
  protected
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer); override;
    procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
      X, Y: Integer); override;
    procedure StartDrag(X, Y: Integer);
    procedure DoDrag(X, Y: Integer);
    procedure EndDrag(X, Y: Integer);
    procedure ChooseCursor;
  public
    constructor Create(Control: TControl; Position: TGrabPosition; Handles: TGrabHandles);
    procedure Paint; override;
    procedure SetGrabBounds;
    function Center: TPoint;
    property Color:TColor read fColor write fColor default clWhite;
    property GrabPosition: TGrabPosition read fPosition;
    property Control: TControl read fControl;
    property DraggingTo: Boolean read fDragging;
    property DragPoint: TPoint read fDragPoint;
    property DragRect: TRect read fDragRect;
    property GrabHandles: TGrabHandles read fHandles;
    property MultiSelected:Boolean read fMultiSelected write SetMultiSelected;
    property Size: Cardinal read fSize;
  end;

  { Array of grab handles at strategic locations around a component. }
  TGrabHandleArray = array[Low(TGrabPosition)..High(TGrabPosition)] of TGrabHandle;
  TGrabHandles = class
  private
    fHandles: TGrabHandleArray;
    fVisible: Boolean;
    fColor:TColor;
    fControl:TControl;
    fMultiSelected:Boolean;
    function GetHandle(Index: TGrabPosition): TGrabHandle;
    procedure SetVisible(Value: Boolean);
    procedure SetColor(Value:TColor);
    procedure SetMultiSelected(Value:Boolean);
  public
    constructor Create(Control: TControl);
    destructor Destroy; override;
    property  Color:TColor read fColor write SetColor;
    property  Handle[Index: TGrabPosition]: TGrabHandle read GetHandle;
    procedure Hide;
    procedure Show;
    procedure Update;
    property  Control:TControl read fControl write fControl;
    property  MultiSelected:Boolean read fMultiSelected write SetMultiSelected;
    property  Visible: Boolean read fVisible write SetVisible;
  end;

  TDragRectArray = array [1..255] of TRect;

  TDragRectItem = class
  private
     fRectArray: TDragRectArray;
     function GetItem(Index: Integer): TRect;
     procedure SetItem(Index:Integer;Value:TRect);
  public
     constructor Create;
     procedure Clear;
     property Item[Index:Integer]: TRect read GetItem write SetItem ;
  end;

  TDragRectList = class
  private
     fCount: Integer;
     fRectItem: TDragRectItem;
  public
     constructor Create;
     procedure Add(Control:TControl);
     procedure Clear;
     property Items: TDragRectItem read fRectItem write fRectItem ;
  end;

  { A control wrapper for non-visual components. }
  TWrapperControl = class(TCustomControl)
  private
    fComponent: TComponent;
    fBitmap: TBitmap;
  protected
    procedure MakeBitmap;
  public
    constructor Create(Owner: TComponent; Component: TComponent);
    destructor Destroy; override;
    procedure Paint; override;
    procedure UpdateControl;
    property  Component: TComponent read fComponent;
    property  Bitmap: TBitmap read fBitmap;
  published
    property  OriginComponent:TComponent read fComponent write fComponent;
  end;

  TProxyForm = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    fControl: TControl;
    fDragging: Boolean;
    fDragPoint: TPoint;
    fDragRect: TRect;
    fGrabHandles: TGrabHandles;
    fComponentList: TStringList;
    fDragRectList: TDragRectList;
    GotMouse : boolean;
    Anchor, Rover : TPoint;
    procedure MakeARubber(X, Y : integer);
    procedure DrawRect(const Rect: TRect);
    procedure SaveTempForm;
  protected
    procedure ClipChildren(Clipping: Boolean);
    procedure SelectComponentsInRect(Rect: TRect);
    property  DraggingTo: Boolean read fDragging;
    property  DragPoint: TPoint read fDragPoint;
    property  DragRect: TRect read fDragRect;
  public
    { Public declarations }
    FileName:string;
    procedure StartDragging(Pt: TPoint);
    procedure EndDragging(Pt: TPoint);
    procedure DragTo(Pt: TPoint);
    procedure ClipCursorToComponentArea;
    procedure SetCompBounds(const Bounds: TRect);
    function  GetCompBounds: TRect;
    procedure OnMenuClick(Sender:TObject);
    procedure OnFindMethodHandler(Reader: TReader; const MethodName: string;
              var Address: Pointer; var Error: Boolean);
    procedure OnReaderErrorHandler(Reader: TReader; const Message: string; var Handled: Boolean);
    property  ComponentList:TStringList read fComponentList write fComponentList;
    property  DragRectList: TDragRectList read fDragRectList write fDragRectList;
    // Control 加己籃 汽俊輯 急琶茄 牧飄費狼 瀝焊甫 愛絆 樂綽促.
    property  SelectControl: TControl read fControl write fControl;
    property  GrabHandles: TGrabHandles read fGrabHandles write fGrabHandles;
  end;

var
  ProxyForm: TProxyForm;

implementation

uses ObjectInspec, MainForm, Uconst,utype, Editor;

{$R *.DFM}
// 厚矯阿利 哪欺懲飄狼 厚飄甘闌 掘扁 困秦 酒貳狼 哪欺懲飄 府家膠啊 鞘夸竅促.
{$R STDREG.DCR}
{$R SYSREG.DCR}
{$R DBREG.DCR}

// 付快膠狼 困摹啊 靛貳弊俊 秦寸竅綽 芭府父怒 框流看綽啊甫 煉葷茄促.
function IsMouseDrag(Old, New: TPoint): Boolean;
var
  DifX, DifY:Integer;
begin
   Result:= False;
   DifX  := Abs(New.x - Old.x);
   DifY  := Abs(New.y - Old.y);
   if (DifX > 5) or (DifY > 5) then Result:= True
   else Result:= False;
end;

{ Create a grab handle at a specific position, for a control. }
constructor TGrabHandle.Create(Control: TControl; Position: TGrabPosition; Handles: TGrabHandles);
begin
  inherited Create(Control.Owner);
  ControlStyle := ControlStyle - [csOpaque];
  Parent       := Control.Parent;
  fColor       := clWhite;
  fControl     := Control;
  fHandles     := Handles;
  fPosition    := Position;
  fSize        := Screen.PixelsPerInch div 32;
  // exclude csDesigning flag from grab control's componentstate for sizing control 
  TExposeComponent(self).SetDesigning(False);
  SetGrabBounds;
  ChooseCursor;
end;

{ Return the center coordinates of the grab handle. }
function TGrabHandle.Center: TPoint;
begin
  case GrabPosition of
    gpTopLeft:
       if fMultiSelected then Center := Point(Control.Left+2, Control.Top+2)
       else Center := Point(Control.Left, Control.Top);
    gpTop:
       Center := Point(Control.Left + Control.Width div 2, Control.Top);
    gpTopRight:
       if fMultiSelected then Center := Point(Control.Left + Control.Width -2, Control.Top+2)
       else Center := Point(Control.Left + Control.Width, Control.Top);
    gpRight:
       if fMultiSelected then
            Center := Point(Control.Left + Control.Width - 2, Control.Top + Control.Height div 2)
       else Center := Point(Control.Left + Control.Width, Control.Top + Control.Height div 2);
    gpBottomRight:
       if fMultiSelected then Center := Point(Control.Left + Control.Width-2, Control.Top + Control.Height-2)
       else Center := Point(Control.Left + Control.Width, Control.Top + Control.Height);
    gpBottom:
       Center := Point(Control.Left + Control.Width div 2, Control.Top + Control.Height);
    gpBottomLeft:
       if fMultiSelected then Center := Point(Control.Left+2, Control.Top + Control.Height-2)
       else Center := Point(Control.Left, Control.Top + Control.Height);
    gpLeft:
       if fMultiSelected then
            Center := Point(Control.Left + 2, Control.Top + Control.Height div 2)
       else Center := Point(Control.Left, Control.Top + Control.Height div 2);
  end;
end;

{ Set the cursor, depending on the position of the handle. }
procedure TGrabHandle.ChooseCursor;
begin
  case GrabPosition of
    gpTopLeft, gpBottomRight: Cursor := crSizeNWSE;
    gpTop, gpBottom:          Cursor := crSizeNS;
    gpTopRight, gpBottomLeft: Cursor := crSizeNESW;
    gpRight, gpLeft:          Cursor := crSizeWE;
  end;
end;

{ Set the boundaries of the grab handle. }
procedure TGrabHandle.SetGrabBounds;
begin
  with Center do
    inherited SetBounds(X - LongInt(Size), Y - LongInt(Size), Size*2, Size*2);
  Invalidate;
end;

procedure TGrabHandle.Paint;
begin
  if GrabHandles.Visible then
  begin
    Canvas.Brush.Color := FColor;
    Canvas.Brush.Style := bsSolid;
   // Canvas.FillRect(ClientRect);
    Canvas.Rectangle(ClientRect.Left, ClientRect.Top, ClientRect.Right, ClientRect.Bottom);
  end;
end;

{ Left button down on a grab handle means the user is resizing the control. }
procedure TGrabHandle.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then StartDrag(X, Y);
end;

{ While resizing, drag the sizing rectangle. }
procedure TGrabHandle.MouseMove(Shift: TShiftState; X, Y: Integer);
begin
  if DraggingTo then  DoDrag(X, Y);
end;

{ Mouse up: stop dragging. }
procedure TGrabHandle.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if DraggingTo then  EndDrag(X, Y);
end;

{ Start dragging to resize the control. Hide the handles, and
  show the sizing rectangle. Restrict the cursor to the editing
  area, so the user doesn't move nto the method list. }
procedure TGrabHandle.StartDrag(X, Y: Integer);
var
  ControlPt: TPoint;
begin
  fDragging  := True;
  ControlPt  := Center;
  fDragPoint := Point(X - ControlPt.X, Y - ControlPt.Y);
  GrabHandles.Hide;

  fDragRect := Control.BoundsRect;
  with Owner as TProxyForm do
  begin
    ClipCursorToComponentArea;
    ClipChildren(False);
    DrawRect(Self.DragRect);
  end;
end;

{ Continue dragging the sizing rectangle. If the user drags the corner
  across the control, the corners might need to be swapped. }
procedure TGrabHandle.DoDrag(X, Y: Integer);
  procedure Swap(var A, B: Integer);
  var
    Tmp: Integer;
  begin
    Tmp := A;
    A   := B;
    B   := Tmp;
  end;
var
  OldRect, NewRect: TRect;
begin
  with Owner as TProxyForm do
   DrawRect(Self.DragRect);
  X := X - DragPoint.X;
  Y := Y - DragPoint.Y;
  OldRect := Control.BoundsRect;
  case GrabPosition of
  gpTopLeft:     NewRect := Rect(X, Y, OldRect.Right, OldRect.Bottom);
  gpTop:         NewRect := Rect(OldRect.Left, Y, OldRect.Right, OldRect.Bottom);
  gpTopRight:    NewRect := Rect(OldRect.Left, Y, X, OldRect.Bottom);
  gpRight:       NewRect := Rect(OldRect.Left, OldRect.Top, X, OldRect.Bottom);
  gpBottomRight: NewRect := Rect(OldRect.Left, OldRect.Top, X, Y);
  gpBottom:      NewRect := Rect(OldRect.Left, OldRect.Top, OldRect.Right, Y);
  gpBottomLeft:  NewRect := Rect(X, OldRect.Top, OldRect.Right, Y);
  gpLeft:        NewRect := Rect(X, OldRect.Top, OldRect.Right, OldRect.Bottom);
  end;
  with NewRect do
  begin
    if Top > Bottom then
      Swap(Top, Bottom);
    if Left > Right then
      Swap(Left, Right);
  end;
  fDragRect := NewRect;
  with Owner as TProxyForm do
    DrawRect(Self.DragRect);
end;

{ Stop dragging the sizing rectangle. }
procedure TGrabHandle.EndDrag(X, Y: Integer);
var
  Rect: TRect;
begin
  with Owner as TProxyForm do
  begin
    ClipChildren(True);
    DrawRect(Self.DragRect);
  end;
  fDragging := False;
  ClipCursor(nil);

  { Some components are fixed size. If so, keep the origin,
    but reset the size to the fixed size. }
  Rect := DragRect;
  if csFixedWidth in Control.ControlStyle then
    Rect.Right := Rect.Left + Control.Width;
  if csFixedHeight in Control.ControlStyle then
    Rect.Bottom := Rect.Top + Control.Height;
  with Rect do
    Control.SetBounds(Left, Top, Right-Left, Bottom-Top);
  GrabHandles.Show;
  ObjectInspector.DisplayProperty(Control,Control);  // Update Properties
end;

procedure TGrabHandle.SetMultiSelected(Value:Boolean);
begin
  if fMultiSelected = Value then Exit;
  fMultiSelected:= Value;
end;

{TGrabHandles}

{ Create a set of grab handles, at the corners and sides of a control. }
constructor TGrabHandles.Create(Control: TControl);
var
  Pos: TGrabPosition;
begin
  inherited Create;
  fVisible := True;
  fColor   := clWhite;
  fControl := Control;
  fMultiSelected:= False;
  for Pos := Low(TGrabPosition) to High(TGrabPosition) do
    fHandles[Pos] := TGrabHandle.Create(Control, Pos, Self);
end;

destructor TGrabHandles.Destroy;
var
  Pos: TGrabPosition;
begin
  for Pos := Low(TGrabPosition) to High(TGrabPosition) do
    fHandles[Pos].Free;
  inherited Destroy;
end;

procedure TGrabHandles.SetColor(Value:TColor);
begin
   if fColor = Value then Exit;
   fColor:= Value;
   Update;
end;

{ Return a specific handle. }
function TGrabHandles.GetHandle(Index: TGrabPosition): TGrabHandle;
begin
  Result := fHandles[Index];
end;

{ Hide all the grab handles, when dragging. }
procedure TGrabHandles.Hide;
var
  Pos: TGrabPosition;
begin
  if Visible then
  begin
    fVisible := False;
    for Pos := Low(TGrabPosition) to High(TGrabPosition) do
      fHandles[Pos].Hide;
  end;
end;

{ Show all the grab handles again. }
procedure TGrabHandles.Show;
var
  Pos: TGrabPosition;
begin
  if not Visible then
  begin
    fVisible := True;
    for Pos := Low(TGrabPosition) to High(TGrabPosition) do
    begin
      if fHandles[Pos] = nil then Exit;
      fHandles[Pos].SetGrabBounds;
      fHandles[Pos].Color:= fColor;
      fHandles[Pos].Show;
    end;
  end;
end;

{ Update the position of the grab handles after resizing or moving. }
procedure TGrabHandles.Update;
var
  Pos: TGrabPosition;
begin
  if Visible then
    for Pos := Low(TGrabPosition) to High(TGrabPosition) do
    begin
      fHandles[Pos].SetGrabBounds;
      fHandles[Pos].Color:= fColor;
    end;
end;

{ Set the visibility of the grab handles. }
procedure TGrabHandles.SetVisible(Value: Boolean);
begin
  if Value then Show
  else  Hide
end;

// 咯礬 哪欺懲飄甫 悼矯俊 急琶竅綽 版快俊
// GrabHandle狼 困摹客 禍惑,Visible 咯何甫 搬瀝茄促.
procedure TGrabHandles.SetMultiSelected(Value:Boolean);
var
  Pos: TGrabPosition;
begin
   if fMultiSelected = Value then Exit;
   fMultiSelected:= Value;
   if fMultiSelected then
   begin
      for Pos := Low(TGrabPosition) to High(TGrabPosition) do
      begin
       { if not (Pos in [gpBottomLeft,  gpTopLeft, gpTopRight,  gpBottomRight]) then
           fHandles[Pos].Visible:= False
        else}
        begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品污www在线观看| 欧美国产在线观看| 久久你懂得1024| 日韩一区二区三区电影| 日本一区二区成人| 青青草原综合久久大伊人精品优势| 亚洲六月丁香色婷婷综合久久| 国产精品久久久久久户外露出 | 日本美女一区二区三区视频| 激情五月激情综合网| 欧美亚洲综合色| 国产精品亲子乱子伦xxxx裸| 亚洲欧美综合色| 精久久久久久久久久久| 337p亚洲精品色噜噜| 中文成人av在线| 日av在线不卡| 国产精品资源在线看| 国产电影一区在线| 久久免费视频色| 久久综合色天天久久综合图片| 精品国产免费人成电影在线观看四季| www国产亚洲精品久久麻豆| 亚洲mv在线观看| 欧美色欧美亚洲另类二区| 国产精品视频观看| 国产suv精品一区二区883| 99久久婷婷国产综合精品电影| 色国产精品一区在线观看| 国产欧美视频在线观看| 精品中文字幕一区二区小辣椒 | 国产激情一区二区三区| 538prom精品视频线放| 日韩在线播放一区二区| 欧美日韩国产在线观看| 2014亚洲片线观看视频免费| 老司机精品视频在线| 欧美肥妇bbw| 国产精品热久久久久夜色精品三区| 亚洲精品久久久久久国产精华液| 美女视频免费一区| 精品少妇一区二区| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品久久久久影视| 丁香一区二区三区| 亚洲靠逼com| 国产精品一区二区你懂的| 在线一区二区视频| 亚洲va在线va天堂| 不卡的av在线播放| 亚洲一二三区视频在线观看| 国产成人午夜电影网| 国产精品国产精品国产专区不蜜| 美国十次综合导航| 久久精品视频在线看| 91视频一区二区| 夜夜夜精品看看| 精品美女在线观看| 成人毛片老司机大片| 亚洲综合av网| 精品久久久久久久一区二区蜜臀| 伊人夜夜躁av伊人久久| 制服丝袜亚洲精品中文字幕| 亚洲精品乱码久久久久| 4438x成人网最大色成网站| 国产精品正在播放| 亚洲成人福利片| 日本一区二区三区在线观看| 91麻豆高清视频| 国内国产精品久久| 亚洲在线视频免费观看| 国产亚洲精久久久久久| 欧美三级视频在线| 亚洲一区影音先锋| 久久精品一区八戒影视| 色成人在线视频| 国产福利91精品| 欧美aaaaa成人免费观看视频| 欧美精品一卡二卡| 波多野结衣中文一区| 麻豆精品国产传媒mv男同| 成人免费视频在线观看| 久久蜜桃香蕉精品一区二区三区| 麻豆成人久久精品二区三区红 | 美女视频黄a大片欧美| 亚洲欧洲成人av每日更新| 日韩一区二区免费电影| 久久99久久99小草精品免视看| 日韩欧美国产综合一区| 日本黄色一区二区| 成人av综合在线| 极品少妇一区二区| 免费一级欧美片在线观看| 一区二区久久久久久| 亚洲欧洲日韩av| 欧美日韩一区中文字幕| 91婷婷韩国欧美一区二区| 国产精品18久久久久久久网站| 中文字幕第一页久久| 精品国产网站在线观看| 国产91精品露脸国语对白| 精品综合免费视频观看| 久久电影网电视剧免费观看| 日本一区二区免费在线| 91偷拍与自偷拍精品| av在线不卡网| 丰满少妇久久久久久久| 国产成人亚洲综合a∨婷婷图片| 国产精品第一页第二页第三页| 欧美日韩免费不卡视频一区二区三区| 青青草国产精品97视觉盛宴| 亚洲综合色视频| 亚洲国产中文字幕在线视频综合| 日韩一区二区三区免费看 | 国产精品福利一区| 日本一区二区视频在线观看| 久久久99精品久久| 久久久久久久久久久99999| 色88888久久久久久影院按摩 | 国产成人精品1024| 国产精品一卡二卡在线观看| 国产麻豆精品视频| 国产成人免费视频| av中文字幕一区| 欧美天堂一区二区三区| 国产精品一区2区| 午夜精品视频在线观看| 全国精品久久少妇| 国产激情一区二区三区| thepron国产精品| 日本高清不卡一区| 欧美疯狂做受xxxx富婆| 精品国产免费久久 | 精品99久久久久久| 欧美性生活影院| 91精品国产综合久久精品app | 91精品国产综合久久香蕉的特点| 国产jizzjizz一区二区| 99re热这里只有精品免费视频| 久久9热精品视频| 成人听书哪个软件好| 欧美伊人久久大香线蕉综合69 | 亚洲人成亚洲人成在线观看图片| 日韩精品一区二区三区中文精品| 91精品福利视频| 国产91在线|亚洲| 91久久久免费一区二区| 成人va在线观看| 91麻豆精品国产91久久久 | 91猫先生在线| 欧美片在线播放| 国产丝袜欧美中文另类| 亚洲综合成人网| 国产精品自拍一区| 国产一区不卡在线| 欧美午夜不卡在线观看免费| 久久综合九色综合欧美亚洲| 亚洲精品亚洲人成人网| 国模一区二区三区白浆| 强制捆绑调教一区二区| 日本大胆欧美人术艺术动态| 成人动漫视频在线| 日韩一级在线观看| 一区二区三区欧美激情| 国产综合色精品一区二区三区| 黄色精品一二区| 在线欧美一区二区| 国产日韩精品视频一区| 日本特黄久久久高潮| 91在线无精精品入口| 久久婷婷国产综合国色天香| 精品免费一区二区三区| 亚洲综合免费观看高清完整版| 亚洲国产va精品久久久不卡综合| 亚洲成人免费看| 一本色道久久综合狠狠躁的推荐 | 亚洲精品水蜜桃| 成人激情校园春色| 精品美女在线观看| 日本最新不卡在线| 欧美在线三级电影| 一区二区在线电影| youjizz国产精品| 国产欧美日韩精品在线| 久久精品国产一区二区三| 欧美美女一区二区在线观看| 亚洲精品中文字幕在线观看| 成人教育av在线| 欧美性猛交xxxxxx富婆| 亚洲天堂av老司机| 99久久久无码国产精品| 日本一区二区三区在线不卡| 玉足女爽爽91| 一本久久精品一区二区| 亚洲人成网站色在线观看 | 精品免费99久久| 麻豆成人久久精品二区三区小说| 国产精品一级在线| 欧美私模裸体表演在线观看| 日韩欧美专区在线|