(7) ползти формы значка (значок)
Создайте новую форму3, сохраните как capture3.pas. Установите четыре свойства атрибута Bordisticons для false.
Borderstyle установлен на Bsnone, Formtyle установлен в Fsstayontop.
Одна частная переменная: FDRAGGING: BOOLEN;
Университет захвата3;
интерфейс
Использование
Windows, сообщения, Sysutils, варианты, классы, графика, управления, формы,
Диалоги;
тип
Tform3 = class (tform)
Процедура FormCreate (отправитель: Tobject);
Процедура FormuseDown (отправитель: Tobject; кнопка: tmousebutton;
Сдвиг: TshiftState;
Процедура FormouseMove (отправитель: tobject; shift: tshiftstate;
X, y: целое число);
Процедура FormMouseup (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState;
Процедура FormActivate (отправитель: Tobject);
процедура FormDestroy (отправитель: Tobject);
Процедура Formpaint (отправитель: tobject);
Частный
FDRAGGING: BOOLEN;
публичный
FRECT: TRECT;
FBMP: TBITMAP;
конец;
вар
Форма3: tform3;
Выполнение
{$ R *.dfm}
// Создание нового пользовательского курсора Cursor_2 и поместите его в ресурс Capture3.res
// В файле есть белая прямоугольная граница 32*32, чтобы указать диапазон захвата.
Процедура tform3.formcreate (отправитель: tobject);
var adc: hdc;
const crbox = -19;
Начинать
Screen.cursors [crbox]: = loadcursor (hinstance, 'cursor_2');
Курсор: = 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);
Выпущен (0, ADC);
SetBounds (0,0, Screen.width, Screen.height);
конец;
Процедура tform3.formmousedown (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState;
Начинать
Если mbleft = кнопка, тогда начните
fdragging: = true;
SetRect (frect, x, y, x+32, y+32);
Canvas.drawfocusrect (frect);
конец;
конец;
Процедура tform3.formmouseMove (отправитель: tobject; shift: tshiftState;
X, y: целое число);
Начинать
Если фрэггирование, то начните
Canvas.drawfocusrect (frect);
frect.left: = x;
frect.top: = y;
frect.right: = x+32;
frect.bottom: = y+32;
Canvas.drawfocusrect (frect);
конец;
конец;
Процедура tform3.formmouseup (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState;
Начинать
MODALRESULT: = MROK;
конец;
Процедура tform3.formActivate (отправитель: tobject);
const crhand = -18;
Начинать
Screen.cursors [crhand]: = loadcursor (hinstance, pchar ('cursor_1'));
Курсор: = crhand;
конец;
Процедура tform3.formDestroy (отправитель: tobject);
Начинать
fbmp.free;
Screen.cursor: = crdefault;
конец;
Процедура tform3.formpaint (отправитель: tobject);
Начинать
Canvas.draw (0,0, FBMP);
конец;
конец.