www.pudn.com > yrsCapture.zip > capture4.pas
{******************************************************************************}
{* *}
{* Adirondack Software & Graphics Capture Icon Unit *}
{* (C) Copyright Adirondack Software & Graphics 1996-1998 *}
{* *}
{******************************************************************************}
unit capture4;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm4 = class( TForm )
procedure FormCreate( Sender: TObject );
procedure FormMouseUp( Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer );
procedure FormPaint( Sender: TObject );
procedure FormDestroy( Sender: TObject );
procedure FormMouseDown( Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer );
procedure FormMouseMove( Sender: TObject; Shift: TShiftState; X,
Y: Integer );
procedure FormActivate( Sender: TObject );
private
{ Private declarations }
fDragging: Boolean;
procedure WMEraseBkGnd( Var Msg: TWMEraseBkGnd ); message WM_ERASEBKGND;
public
{ Public declarations }
fRect: TRect;
fBmp: TBitmap;
end;
var
Form4: TForm4;
implementation
Uses Main;
{$R *.DFM}
{$R Capture4.Res}
{==============================================================================}
procedure TForm4.FormCreate( Sender: TObject );
{==============================================================================}
var
aDC: HDC;
const
crBox = -19;
begin
Screen.Cursors[crBox] := LoadCursor( hInstance, pChar( '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 TForm4.FormMouseUp( Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer );
{==============================================================================}
begin
ModalResult := mrOK;
end;
{==============================================================================}
procedure TForm4.FormPaint( Sender: TObject );
{==============================================================================}
begin
Canvas.Draw( 0, 0, fBMP );
end;
{==============================================================================}
procedure TForm4.FormDestroy( Sender: TObject );
{==============================================================================}
begin
fBMP.Free;
Screen.Cursor := crDefault;
end;
{==============================================================================}
procedure TForm4.WMEraseBkGnd( var Msg: TWMEraseBkGnd );
{==============================================================================}
begin
Msg.Result := 1;
end;
{==============================================================================}
procedure TForm4.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 TForm4.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 TForm4.FormActivate( Sender: TObject );
{==============================================================================}
const
crBox = -19;
begin
Screen.Cursors[crBox] := LoadCursor( hInstance, pChar( 'CURSOR_2' ) );
Cursor := crBox;
end;
end.