(7) 형태 또는 제어 그림 형태를 기어 다닙니다
새 form2를 만들고 capture2.pas로 저장하십시오. 속성 국경의 4 가지 속성을 거짓으로 설정하십시오.
Borderstyle은 BSNONE으로 설정되며 FormStyle은 FsstayOntop으로 설정됩니다.
두 가지 일반적인 변수 : FRECT : Trect, FBMP : TBITMAP;
단위 캡처 2;
인터페이스
용도
창, 메시지, 시스템, 변형, 클래스, 그래픽, 컨트롤, 양식,
대화;
유형
tform2 = 클래스 (tform)
프로 시저 Formcreate (sender : tobject);
절차 formactivate (sender : tobject);
절차 formdestroy (sender : tobject);
절차 formpaint (발신자 : Tobject);
프로 시저 FormMouseUp (sender : tobject; 버튼 : tmouseButton;
Shift : TshiftState; X, Y : Integer);
사적인
{개인 선언}
공공의
frect : trect;
FBMP : TBITMAP;
끝;
var
form2 : tform2;
구현
{$ r *.dfm}
// 새 사용자 정의 커서 Cursor_1을 만들고 capture2.res resource에 배치합니다.
// 파일에는 캡처 범위를 나타내는 흰색 직사각형 테두리 32*32가 있습니다.
절차 tform2.formcreate (sender : tobject);
VAR ADC : HDC;
const crhand = -18;
시작하다
screen.cursors [crhand] : = loadcursor (Hinstance, 'cursor_1');
커서 : = crhand;
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);
릴리스 C (0, ADC);
setBounds (0,0, screen.width, screen.height);
끝;
절차 tform2.formActivate (sender : tobject);
const crhand = -18;
시작하다
screen.cursors [crhand] : = loadcursor (Hinstance, pchar ( 'cursor_1'));
커서 : = crhand;
끝;
절차 tform2.formdestroy (sender : tobject);
시작하다
fbmp.free;
screen.cursor : = crdefault;
끝;
절차 tform2.formPaint (Sender : Tobject);
시작하다
Canvas.Draw (0,0, FBMP);
끝;
절차 tform2.formmouseup (sender : tobject; button : tmousebutton;
Shift : TshiftState; X, Y : Integer);
시작하다
Modalresult : = mrok;
끝;
끝.