Et deuxième form...
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls;
type
TForm2 = class(TForm)
Image1: TImage;
StatusBar1: TStatusBar;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
nLeft: Integer;
nTop: Integer;
nRight: Integer;
nBottom: Integer;
bMouseDown: Boolean;
public
{ Déclarations publiques }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
Self.BorderStyle:= bsNone;
Self.WindowState:= wsMaximized;
StatusBar1.SimplePanel:= True;
bMouseDown:= False;
end;
procedure TForm2.FormShow(Sender: TObject);
var
hDesktopDC: HDC;
hDesktop: THandle;
begin
Image1.Picture.Bitmap.Width:= Screen.Width;
Image1.Picture.Bitmap.Height:= Screen.Height;
Image1.Width:= Screen.Width;
Image1.Height:= Screen.Height;
Image1.Top:= 0;
image1.Left:= 0;
hDesktop:= GetDesktopWindow;
hDesktopDC:= GetDC(hDesktop);
try
BitBlt(Image1.Picture.Bitmap.Canvas.Handle,
0, 0, Screen.Width, Screen.Height,
hDesktopDC, 0, 0, SrcCopy);
finally
ReleaseDC(hDesktop, hDesktopDC);
end;
end;
procedure TForm2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if bMouseDown then
begin
Canvas.Pen.Mode:= pmNot;
Canvas.Pen.Width:= 1;
Canvas.Brush.Style:= bsClear;
Canvas.Rectangle(nLeft, nTop, nRight, nBottom);
nRight:= X;
nBottom:= Y;
Canvas.Rectangle(nLeft, nTop, nRight, nBottom);
StatusBar1.SimpleText:= IntToStr(Abs(nRight - nLeft)) + ' ' + IntToStr(Abs(nBottom - nTop));
end;
end;
procedure TForm2.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
nLeft:= X;
nTop:= Y;
nRight:= X;
nBottom:= Y;
bMouseDown:= True;
end;
procedure TForm2.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if bMouseDown then
begin
bMouseDown:= False;
Canvas.Pen.Mode:= pmNot;
Canvas.Brush.Style:= bsClear;
Canvas.Rectangle(nLeft, nTop, nRight, nBottom);
end;
end;
end.