(7) Rastreie o formulário de forma ou imagem de controle
Crie um novo Form2 e salve -o como Capture2.PAs. Defina as quatro propriedades do atributo Bordericons como FALSE.
O BordersTyle está definido como BSNONE, o FormStyle está definido como FSSTAYONTOP.
Duas variáveis comuns: FRECT: TRECT, FBMP: TBITMAP;
Captura da unidade2;
interface
usos
Janelas, mensagens, sysutils, variantes, classes, gráficos, controles, formulários,
Diálogos;
tipo
TForm2 = classe (tform)
Procedimento FormCreate (remetente: Tobject);
procedimento formative (remetente: objeto);
procedimento formDestroy (remetente: tabjas);
Procedimento FormPaint (remetente: Tobject);
procedimento formmouseup (remetente: tabject; botão: tmouseButton;
Turno: tshiftState;
Privado
{Declarações privadas}
público
FRECT: TRECT;
FBMP: TBITMAP;
fim;
var
Form2: TForm2;
Implementação
{$ R *.dfm}
// Crie um novo cursor personalizado cursor_1 e coloque -o no recurso Capture2.Res
// No arquivo, há uma borda retangular branca de 32*32 para indicar o intervalo da captura.
Procedimento TForm2.FormCreate (remetente: Tobject);
var adc: hdc;
const crhand = -18;
Começar
Screen.cursors [crhand]: = loadcursor (hinstance, 'cursor_1');
Cursor: = 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);
Lançadoc (0, ADC);
Setbounds (0,0, screen.width, screen.height);
fim;
Procedimento TForm2.FormActivate (remetente: Tobject);
const crhand = -18;
Começar
Screen.cursors [crhand]: = loadcursor (hinstance, pchar ('cursor_1'));
Cursor: = crhand;
fim;
procedimento TForm2.FormDestroy (remetente: TObject);
Começar
fbmp.free;
Screen.cursor: = crDefault;
fim;
Procedimento TForm2.FormPaint (remetente: TObject);
Começar
Canvas.draw (0,0, fbmp);
fim;
Procedimento TForm2.FormMouseUp (remetente: Tobject; Button: tmouseButton;
Turno: tshiftState;
Começar
ModalResult: = mrok;
fim;
fim.