国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

Delphi圖象截取編程示例(8)

2019-11-18 18:12:04
字體:
供稿:網(wǎng)友
 

(七)抓取圖標(biāo)(ICON)的窗體
創(chuàng)建一個(gè)新的Form3,保存為Capture3.pas。設(shè)置屬性BorderIcons的四個(gè)屬性為false.
BorderStyle設(shè)為bsNone,FormStyle設(shè)為fsStayOnTop.
一個(gè)私有變量:fDragging:Boolean; 兩個(gè)公共變量:fRect:TRect,fBmp:TBitmap;

unit Capture3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm3 = class(TForm)
    PRocedure FormCreate(Sender: TObject);
    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 FormActivate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormPaint(Sender: TObject);
  private
    fDragging:Boolean;
  public
    fRect:TRect;
    fBmp:TBitmap;
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

//創(chuàng)建一個(gè)新的自定義光標(biāo)CURSOR_2,放在Capture3.res資源
//文件中.是32*32的白色矩形邊框,用來指示抓圖的范圍.

procedure TForm3.FormCreate(Sender: TObject);
var aDC:HDC ;
const crBox = -19;
begin
  Screen.Cursors[crBox]:=LoadCursor(hInstance,'CURSOR_2');
  Cursor := crBox;
  fBmp := TBitmap.Create ;
  fBmp.Width := Screen.Width ;
  fBmp.Height:= Screen.Height;
  aDC := GetDC(0);
  BitBlt(fBmp.Canvas.Handle,0,0,Screen.Width,Screen.Height,aDC,0,0,srcCopy);
  ReleaseDC(0,aDC);
  SetBounds(0,0,Screen.Width,Screen.Height);
end;

procedure TForm3.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if mbLeft = Button then begin
    fDragging := true;
    SetRect(fRect,X,Y,X+32,Y+32);
    Canvas.DrawFocusRect(fRect);
  end;
end;

procedure TForm3.FormMouseMove(Sender: TObject; Shift: TShiftState;
         X, Y: Integer);
begin
  if fDragging then begin
    Canvas.DrawFocusRect(fRect);
    fRect.Left := X ;
    fRect.Top  := Y ;
    fRect.Right:= X+32;
    fRect.Bottom:=Y+32;
    Canvas.DrawFocusRect(fRect); 
  end;
end;

procedure TForm3.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ModalResult:=mrOK;
end;

procedure TForm3.FormActivate(Sender: TObject);
const crHand=-18;
begin
  Screen.Cursors[crHand]:=LoadCursor(hInstance,pChar('CURSOR_1'));
  Cursor:=crHand;
end;

procedure TForm3.FormDestroy(Sender: TObject);
begin
  fBmp.Free;
  Screen.Cursor := crDefault;
end;

procedure TForm3.FormPaint(Sender: TObject);
begin
  Canvas.Draw(0,0,fBmp);
end;

end.


上一篇:Delphi數(shù)據(jù)庫的動(dòng)態(tài)建立

下一篇:Delphi圖象截取編程示例(6)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 陵川县| 容城县| 渭源县| 芦山县| 手游| 宁乡县| 自贡市| 邮箱| 阿瓦提县| 南华县| 兴隆县| 冷水江市| 西乌珠穆沁旗| 武川县| 芷江| 江源县| 福州市| 革吉县| 长岛县| 临澧县| 龙口市| 于田县| 舒兰市| 临清市| 永春县| 铜山县| 城固县| 边坝县| 小金县| 定襄县| 涿鹿县| 临猗县| 铜鼓县| 襄垣县| 荣昌县| 长丰县| 牟定县| 历史| 汶川县| 微博| 乳山市|