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

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

?? proxy.pas

?? delphi 寫的delphi的程序 Handel is a free, standalone development tool created with Delphi 3 that enable
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
           fHandles[Pos].MultiSelected:= True;
           fHandles[Pos].Color:= fColor;
           fHandles[Pos].SetGrabBounds;
           fHandles[Pos].Show;
        end;
      end;
   end;
end;

{TDragRectItem}
constructor TDragRectItem.Create;
begin
   Clear;
end;

procedure TDragRectItem.Clear;
var
  I:Integer;
begin
   for I:= Low(TDragRectArray) to High(TDragRectArray) do
      fRectArray[I].Left:= -1;
end;

function TDragRectItem.GetItem(Index: Integer): TRect;
begin
   Result:= fRectArray[Index];
end;

procedure TDragRectItem.SetItem(Index:Integer; Value:TRect);
begin
   fRectArray[Index]:= Value;
end;

{TDragRectList}

{TDragRectList綽 咯礬俺狼 哪欺懲飄甫 急琶茄 饒 靛貳弊且 錠
 靛貳弊登綽 哪欺懲飄狼 困摹甫 焊咯林扁 困秦 葷儈茄促.}
constructor TDragRectList.Create;
begin
   fRectItem:= TDragRectItem.Create;
   Clear;
end;

procedure TDragRectList.Add(Control:TControl);
begin
   if fCount >= High(TDragRectArray) then Exit;
   fCount:= fCount + 1;
   fRectItem.Item[fCount]:= Control.BoundsRect;
end;

procedure TDragRectList.Clear;
begin
   fRectItem.Clear;
   fCount:=0;
end;

{TWrapperControl}

{ The wrapper control is used for non-visual components. The component
  is drawn as a button, so the user can move it, double click on it, etc. }
constructor TWrapperControl.Create(Owner: TComponent; Component: TComponent);
begin
  inherited Create(Owner);
  Parent       := Owner as TWinControl;
  ControlStyle := ControlStyle + [csFixedWidth, csFixedHeight];
  fComponent   := Component;
  fBitmap      := TBitmap.Create;
  Bitmap.Height:= 28;
  Bitmap.Width := 28;
  Height       := Bitmap.Height;
  Width        := Bitmap.Width;
  MakeBitmap;
end;

destructor TWrapperControl.Destroy;
begin
  Bitmap.Free;
  inherited Destroy;
end;

{ Make the button bitmap by looking up its bitmap resource, which
  was in its .DCR file. }
procedure TWrapperControl.MakeBitmap;
var
  ResName: array[0..64] of Char;
  ResBitmap: TBitmap;
  R: TRect;
  X, Y: Integer;
begin
  ResBitmap := TBitmap.Create;
  try
    StrPLCopy(ResName, Component.ClassName, SizeOf(ResName));
    AnsiUpper(ResName);
    ResBitmap.Handle := LoadBitmap(hInstance, ResName);
    if ResBitmap.Handle = 0 then
      ResBitmap.Handle := LoadBitmap(hInstance, 'DEFAULT');

    Bitmap.Canvas.Brush.Color := clBtnFace;
    Bitmap.Canvas.Pen.Color := clWindowText;
    Bitmap.Canvas.Rectangle(0, 0, Bitmap.Width, Bitmap.Height);
    R := Rect(1, 1, Bitmap.Width-1, Bitmap.Height-1);
    Frame3D(Bitmap.Canvas, R, clBtnHighlight, clBtnShadow, 2);

    X := (Bitmap.Width - ResBitmap.Width) div 2;
    Y := (Bitmap.Height - ResBitmap.Height) div 2;
    Bitmap.Canvas.BrushCopy(Bounds(X, Y, ResBitmap.Width, ResBitmap.Height),
                            ResBitmap,
                            Rect(0, 0, ResBitmap.Width, ResBitmap.Height),
                            ResBitmap.TransparentColor);
  finally
    ResBitmap.Free;
  end;
end;

{ Paint the button. }
procedure TWrapperControl.Paint;
var
  X, Y: Integer;
begin
  if Bitmap = nil then
  begin
  // 汽 頗老闌 佬綽 版快 俊綽 厚飄甘闌 叼棄飄 厚飄甘闌 焊咯霖促.
    fBitmap := TBitmap.Create;
    Bitmap.Height := 28;
    Bitmap.Width := 28;
    Bitmap.Handle := LoadBitmap(hInstance, 'DEFAULT');
  end;
  X := (ClientWidth - Bitmap.Width) div 2;
  Y := (ClientHeight - Bitmap.Height) div 2;
  Canvas.Draw(X, Y, Bitmap);
end;

procedure TWrapperControl.UpdateControl;
begin
  if Bitmap = nil then
  begin
      fBitmap       := TBitmap.Create;
      Bitmap.Height := 28;
      Bitmap.Width  := 28;
      fComponent    := OriginComponent;
      if fComponent <> nil then MakeBitmap
      else Bitmap.Handle := LoadBitmap(hInstance, 'DEFAULT');
  end;
end;

{積己茄 哪欺懲飄狼 ComponentState甫 csDesigning肺 父甸扁 困茄 努貳膠.
 SetDesiging 皋輯靛啊 protected撈扁 錠鞏俊 public欄肺 官操扁 困秦
 貨肺款 努貳膠甫 父電促. SetDesigning狼 藹闌 True肺 汲瀝竅擱
 ComponentState 加己俊 csDesigning啊 器竊等促.}
type
  TExposeComponent = class(TComponent)
  public
    procedure SetDesigning(Value: Boolean);
  end;

procedure TExposeComponent.SetDesigning(Value: Boolean);
begin
  inherited SetDesigning(Value);
end;

{TProxyForm}

{ Set the component's boundaries. }
procedure TProxyForm.SetCompBounds(const Bounds: TRect);
begin
  with Bounds do
    SelectControl.SetBounds(Left, Top, Right-Left, Bottom-Top);
end;

{ Return the component's boundaries. }
function TProxyForm.GetCompBounds: TRect;
begin
  Result := SelectControl.BoundsRect;
end;

{ Set the cursor clipping region to the component editing area.
  This prevents the user from dragging the component into the
  method list or status bar. }
procedure TProxyForm.ClipCursorToComponentArea;
var
  Rect: TRect;
begin
  Rect.TopLeft := ClientToScreen(Point(0, 0));
  Rect.BottomRight := ClientToScreen(Point(Width, ClientHeight));
  ClipCursor(@Rect);
end;

{ Draw the component's frame while moving it. }
procedure TProxyForm.DrawRect(const Rect: TRect);
begin
  with Canvas do
  begin
     Pen.Color   := Color;
     Pen.Mode    := pmXor;
     Pen.Style   := psDot;
     Pen.Width   := 2;
     Brush.Style := bsClear;
  end;
  with Rect do
    Canvas.Rectangle(Left, Top, Right, Bottom);
  fDragRect := Rect;
end;

{ Start moving the component by hiding its grab handles and
  drawing the frame to represent the component. }
procedure TProxyForm.StartDragging(Pt: TPoint);
var
  I:Integer;
  R:TRect;
begin
  if ProxyDesigner =  nil then Exit;
  if ProxyDesigner.MultiSelected then Exit;
  if not IsMouseDrag(fDragPoint, Pt) then Exit;
  fDragging := True;
  fDragPoint := Pt;
  ClipChildren(False);
  for I:= Low(TDragRectArray) to High(TDragRectArray) do
  begin
     if DragRectList.Items.Item[I].Left = -1 then Break;
     R := DragRectList.Items.Item[I];
     DrawRect(R);
  end;
  ClipCursorToComponentArea;
end;

{ Draw the component's frame and redraw it. }
procedure TProxyForm.DragTo(Pt: TPoint);
var
  R: TRect;
  I:Integer;
  Control:TControl;
begin
  if ProxyDesigner =  nil then Exit;
  for I:=Low(TDragRectArray) to High(TDragRectArray) do
  begin
     if DragRectList.Items.Item[I].Left = -1 then Break;
     Control:= TControl(ProxyDesigner.SelectList[I-1]);
     DrawRect(DragRectList.Items.Item[I]);
     R        := DragRectList.Items.Item[I];
     R.Left   := R.Left + Pt.X - DragPoint.X;
     R.Top    := R.Top  + Pt.Y - DragPoint.Y;
     R.Right  := R.Left + Control.Width;
     R.Bottom := R.Top  + Control.Height;
     DrawRect(R);
     DragRectList.Items.Item[I]:= R;
  end;
  fDragPoint := Pt;
end;

// 哪欺懲飄狼 靛貳弊甫 場郴絆 , 哪欺懲飄狼 困摹甫 盎腳茄促.
procedure TProxyForm.EndDragging(Pt: TPoint);
var
  I:Integer;
  Control:TControl;
  R:TRect;
begin
  ClipChildren(True);
  if (Pt.X <> DragPoint.X) or (Pt.Y <> DragPoint.Y) then DragTo(Pt);
  for I:= Low(TDragRectArray) to High(TDragRectArray) do
  begin
     if DragRectList.Items.Item[I].Left = -1 then Break;
     Control:= TControl(ProxyDesigner.SelectList[I-1]);
     R := DragRectList.Items.Item[I];
     DrawRect(R);
     Control.Left := R.Left;
     Control.Top  := R.Top;
  end;
  fDragging := False;
  ClipCursor(nil);
  if not (SelectControl is TWrapperControl) then
    if ProxyDesigner.SelectList.Count = 1 then
       ObjectInspector.DisplayProperty(SelectControl,SelectControl); // Update Properties
  ProxyDesigner.UpdateGrabHandle;
  ProxyDesigner.PaintGrid;
end;

{ Turn on or off clipping for child components. When dragging
  the separator panel or the component, turning off the clipping
  draws the highlight over all controls. }
procedure TProxyForm.ClipChildren(Clipping: Boolean);
var
  Style: LongInt;
begin
  Style := GetWindowLong(Handle, Gwl_Style);
  if Clipping then
    Style := Style or Ws_ClipChildren
  else
    Style := Style and not Ws_ClipChildren;
  SetWindowLong(Handle, Gwl_Style, Style);
end;

// 汽俊 付快膠甫 努腐茄 版快 貨肺款 哪欺懲飄甫 積己秦具 竅綽瘤客
// 靛貳弊 咯何甫 搬瀝茄促.
procedure TProxyForm.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  Pt: TPoint;
  SelClass:TComponentClass;
begin
   if ProxyDesigner = nil then Exit;
   SelClass:= FMainForm.GetSelectComponent;
   if SelClass <> nil then
   begin
      if (SelectControl <> nil) and (SelectControl is TCustomControl) then
         ProxyDesigner.CreateComponent(SelClass, SelectControl, X, Y, 0, 0)
      else ProxyDesigner.CreateComponent(SelClass, ProxyDesigner.Form, X, Y, 0, 0);
      Exit;
   end;
   if (SelectControl = nil) then Exit;
   Pt := Point(X, Y);
   Pt := Self.ScreenToClient(SelectControl.ClientToScreen(Pt));
   if PtInRect(GetCompBounds, Pt) then  StartDragging(Pt)
   else
   begin
      ObjectInspector.DisplayProperty(nil,self);
      SetCapture(Handle);  { WIN API function, grabs all mouse actions to this window }
      GotMouse := True;    { need to keep track of who has teh mouse }
      Anchor.X := X; Anchor.Y := Y;  { where we started from }
      Rover := Anchor;               { where we are now}
      Canvas.MoveTo(X,Y);
   end;
end;

procedure TProxyForm.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  P:TPoint;
begin
  if ProxyDesigner = nil then Exit;
  // Shift 虐肺 哪欺懲飄甫 急琶竅絆 樂綽 版快俊綽 靛貳弊甫 傾儈竅瘤 臼綽促.
  if ProxyDesigner.MultiSelected then Exit;
  P:= Point(X, Y);
  // 漂瀝茄 芭府父怒 付快膠甫 撈悼秦具 靛貳弊竅綽 巴欄肺 埃林茄促.
  if not IsMouseDrag(fDragPoint, P) then Exit;
  if DraggingTo then DragTo(Point(X, Y));
  if GotMouse then MakeARubber(X,Y);
end;

procedure TProxyForm.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   if ProxyDesigner = nil then Exit;
   if DraggingTo then
   begin
      EndDragging(Point(X, Y));
      FMainForm.UpdateControl(psChange);
      Exit;
   end;
   if GotMouse then
   begin
     with Canvas do
     begin
       SetROP2(Handle,R2_NOTXORPEN);
       Pen.Style   := psDot;
       Brush.Style := bsClear;
       Rectangle(Anchor.X,Anchor.Y,Rover.X,Rover.Y);
     end;
     ReleaseCapture;
     SelectComponentsInRect(Rect(Anchor.X,Anchor.Y,Rover.X,Rover.Y));
     GotMouse := False;
   end;
end;

procedure TProxyForm.FormCreate(Sender: TObject);
begin
   {$IFDEF DELPHI3}
     Designer := ProxyDesigner;
   {$ENDIF}
   {$IFDEF DELPHI4}
     Designer := IFormDesigner(ProxyDesigner);
   {$ENDIF}
   fComponentList:= TStringList.Create;
   fDragRectList := TDragRectList.Create;
  // ProxyDesigner.SetProxyForm(self);
end;

procedure TProxyForm.FormActivate(Sender: TObject);
begin
   FMainForm.ActiveForm:= self;
   FMainForm.ToggleFormUnit:= True;
   ProxyDesigner.SetProxyForm(self);
end;

procedure TProxyForm.SaveTempForm;
var
  Output:TMemoryStream;
  I:Integer;
begin
    Output:=TMemoryStream.Create;
    for I:= ComponentCount-1 downto 0 do
    begin
       if Components[I] is TGrabHandle then  Components[I].Free
       else if Components[I].Name = 'ProxyPopupMenu1' then Components[I].Free;
    end;
    OutPut.WriteComponentRes(FilePath + TempForm,self);
    Output.SaveToFile(FilePath+TempForm);
    Output.Free;
end;

// Event handler for component's popup menu
procedure TProxyForm.OnMenuClick(Sender:TObject);
var
  Name:string;
begin
   Name:= TMenuItem(Sender).Name;
   if      Name = 'pmFront' then SelectControl.BringToFront
   else if Name = 'pmBack'  then SelectControl.SendToBack
   else if Name = 'pmCopy'  then ProxyDesigner.CopyComponent
   else if Name = 'pmCut'   then ProxyDesigner.CutComponent
   else if Name = 'pmPaste' then ProxyDesigner.PasteComponent
   else if Name = 'pmSize'  then FMainForm.EditSizeItemClick(self)
   else if Name = 'pmScale' then FMainForm.EditScaleItemClick(self)
   else if Name = 'pmAlign' then FMainForm.EditAlignItemClick(self)
   else if Name = 'pmViewAsText' then
   begin
      SaveTempForm;
      FMainForm.OpenFormAsText(FilePath+TempForm);
      EditorForm.PageControl1.ActivePage.Caption:= FileName;
   end
   else if Name = 'pmDelete' then ProxyDesigner.DeleteSelectList ;
end;

procedure TProxyForm.FormDestroy(Sender: TObject);
begin
   fComponentList.Free;
   fDragRectList.Free;
end;

procedure TProxyForm.MakeARubber(X, Y : integer);
begin
  with Canvas do
  begin
    SetROP2(Handle,R2_NOTXORPEN);  { use to Raster Op codes to make the rubberband }
    Pen.Style   := psDot;
    Brush.Style := bsClear;        { don't fill the interior of the shape, please }
    Rectangle(Anchor.X,Anchor.Y,Rover.X,Rover.Y);
    Rover.X := X;
    Rover.Y := Y;
    Rectangle(Anchor.X,Anchor.Y,Rover.X,Rover.Y);
  end;
end;

procedure TProxyForm.SelectComponentsInRect(Rect: TRect);
// Select components in Rect
var
  I: Integer;
  Control: TControl;
  rec: TRect;
  List: TComponentList;
  rgn: HRGN;
begin
   rgn:= CreateRectRgn(Rect.Left, Rect.Top, Rect.Right, Rect.Bottom);
   List:= TComponentList.Create;
   for I:= 0 to ComponentCount - 1 do
   begin
      Control:= TControl(Components[I]);
      rec:= Control.BoundsRect;
      if RectInRegion(rgn, rec) then List.Add(Control);
   end;
   {$IFDEF DELPHI4UP}
   //ProxyDesigner.SetSelections(List);
   ProxyDesigner.SetSelectionList(List);
   {$ENDIF}
   List.Free;
end;

procedure TProxyForm.OnFindMethodHandler(Reader: TReader; const MethodName: string;
    var Address: Pointer; var Error: Boolean);
begin
    Address:= ProxyDesigner.Form.MethodAddress(MethodName);
    if Address <> nil then
       ProxyDesigner.Methods[Integer(Address)]:= MethodName
    else
    begin
       ProxyDesigner.Methods.AddObject(MethodName, Address);
       Error:= False;
    end;
end;

procedure TProxyForm.OnReaderErrorHandler(Reader: TReader; const Message: string;
    var Handled: Boolean);
begin
   ShowMessage(Message);
   Handled:= True;
end;

end.


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区高清在线| 69av一区二区三区| 91精品国产入口| 久久久精品国产免费观看同学| 日韩理论片网站| 狠狠色丁香婷综合久久| 欧美最猛黑人xxxxx猛交| 久久亚区不卡日本| 蜜臀av亚洲一区中文字幕| 99久久精品一区| 久久免费看少妇高潮| 日本三级亚洲精品| 欧美三级在线看| 一区二区三区在线视频观看| 国产69精品久久99不卡| 精品日本一线二线三线不卡| 午夜视频一区二区| 成人avav影音| 久久精品一区四区| 国产乱码一区二区三区| 欧美成人精品高清在线播放| 日本伊人精品一区二区三区观看方式 | 91麻豆精品国产91| 亚洲乱码精品一二三四区日韩在线| 国产电影一区二区三区| 2017欧美狠狠色| 国产一区二区精品久久| 精品日韩一区二区三区免费视频| 日韩va欧美va亚洲va久久| 欧美猛男男办公室激情| 亚洲第一狼人社区| 在线播放中文字幕一区| 污片在线观看一区二区| 7777精品伊人久久久大香线蕉完整版| 五月婷婷另类国产| 欧美一区二区三级| 久久爱www久久做| 久久精品一区二区三区不卡 | 99久久精品99国产精品| 国产精品福利一区二区三区| 成人三级在线视频| 最新国产の精品合集bt伙计| 91成人免费网站| 日韩精品欧美精品| 26uuu欧美| av在线播放一区二区三区| 亚洲人亚洲人成电影网站色| 在线观看日韩国产| 日日夜夜免费精品| 国产亚洲欧美日韩在线一区| 91视视频在线观看入口直接观看www | 蜜臀91精品一区二区三区 | 日韩欧美综合在线| 国产一区91精品张津瑜| 国产精品视频观看| 日本精品视频一区二区三区| 日本女优在线视频一区二区| 久久久久国色av免费看影院| av一二三不卡影片| 亚洲成人免费观看| 久久久久久久久免费| 色88888久久久久久影院按摩| 午夜精品在线看| 久久综合九色综合97_久久久| 91农村精品一区二区在线| 午夜国产精品一区| 中文av一区二区| 91精品国产综合久久久蜜臀粉嫩 | 激情五月激情综合网| 中文字幕欧美三区| 欧美日韩www| 国产sm精品调教视频网站| 亚洲宅男天堂在线观看无病毒| 精品三级在线观看| 欧美中文字幕亚洲一区二区va在线| 美日韩一区二区三区| 最新日韩在线视频| 日韩美女一区二区三区四区| 99视频一区二区三区| 久久99精品一区二区三区三区| 中文字幕亚洲一区二区va在线| 日韩一区二区精品葵司在线| 99久久99久久精品国产片果冻| 精品中文字幕一区二区| 一区二区激情视频| 中文字幕免费不卡在线| 日韩欧美中文一区二区| 在线精品亚洲一区二区不卡| 盗摄精品av一区二区三区| 久久国产三级精品| 亚洲成av人片观看| 亚洲免费观看高清完整版在线| 久久九九久精品国产免费直播| 欧美色国产精品| 色综合视频一区二区三区高清| 国产aⅴ综合色| 九色综合国产一区二区三区| 亚洲第一二三四区| 亚洲女同女同女同女同女同69| 久久先锋影音av| 久久综合色一综合色88| 欧美一区二区三区爱爱| 欧美另类变人与禽xxxxx| 色综合久久久久综合| 成人av网站免费| 成人av在线一区二区| 国产福利精品导航| 国产精品性做久久久久久| 久久国产婷婷国产香蕉| 精品在线播放午夜| 久久99精品国产麻豆婷婷| 美女在线一区二区| 日韩国产精品久久| 婷婷夜色潮精品综合在线| 天天操天天干天天综合网| 一区二区三区视频在线看| 一区二区三国产精华液| 亚洲精品视频在线观看网站| 樱花草国产18久久久久| 一区二区三区免费| 亚洲国产另类精品专区| 亚洲国产精品视频| 午夜精品久久久久久久久久久| 天天av天天翘天天综合网 | gogo大胆日本视频一区| 99国产精品久久久久久久久久久| 99热这里都是精品| 在线一区二区三区做爰视频网站| 欧美视频在线不卡| 欧美区视频在线观看| 在线综合视频播放| 久久蜜桃av一区精品变态类天堂 | 日韩女同互慰一区二区| 久久亚洲综合色| 中文字幕日本乱码精品影院| 亚洲午夜精品在线| 久久精品噜噜噜成人av农村| 国产成人一区在线| 在线视频欧美区| 日韩久久精品一区| 亚洲丝袜美腿综合| 日韩电影在线看| 成人av资源站| 7777精品伊人久久久大香线蕉经典版下载 | 懂色av一区二区三区蜜臀| 91女厕偷拍女厕偷拍高清| 91精品国产一区二区三区蜜臀| 国产视频一区在线播放| 亚洲一区在线观看免费观看电影高清 | 欧美体内she精高潮| 日韩免费高清电影| 亚洲品质自拍视频网站| 美女性感视频久久| 91色综合久久久久婷婷| 日韩欧美中文一区| 亚洲男人的天堂网| 国产在线精品一区二区不卡了| 色婷婷综合久久久中文一区二区| 日韩精品一区二区在线| 亚洲精品ww久久久久久p站| 久久精品免费观看| 欧美性色黄大片| 国产人伦精品一区二区| 蜜乳av一区二区三区| 欧美亚洲综合久久| 国产精品第五页| 精品一区二区三区视频在线观看 | 亚洲欧洲一区二区在线播放| 蜜臀av一区二区| 欧美日韩国产色站一区二区三区| 国产亚洲一区二区在线观看| 蜜臀a∨国产成人精品| 欧美日韩一级黄| 亚洲欧美日韩国产一区二区三区 | 亚洲欧洲av在线| 国产一区二区免费看| 91精品国产欧美一区二区18| 亚洲精品写真福利| 成人av在线一区二区三区| 国产午夜精品理论片a级大结局| 男人的天堂久久精品| 欧美日韩大陆在线| 亚洲不卡在线观看| 色欧美片视频在线观看在线视频| 国产精品视频一二| 国产精品一二三| 2023国产一二三区日本精品2022| 天天操天天干天天综合网| 欧美性猛片xxxx免费看久爱| 综合在线观看色| 91丨porny丨户外露出| 国产精品成人免费精品自在线观看 | 国产美女精品人人做人人爽| 日韩欧美亚洲一区二区| 美女一区二区视频| 精品久久国产老人久久综合| 日本欧美加勒比视频| 欧美va亚洲va香蕉在线| 久久爱另类一区二区小说| 精品国产伦一区二区三区观看体验 |