единица единицы 1;
интерфейс
Использование
Windows, сообщения, Sysutils, варианты, классы, графика, управления, формы,
Dialogs, extctrls, stdctrls, jpeg;
const lmousedown = false;
тип
Tform1 = class (tform)
РЕДАКТИРОВАТЬ1: ТЕДИТ;
Панель2: Tpanel;
Панель1: Tpanel;
Панель3: Tpanel;
Панель4: Tpanel;
Панель5: Tpanel;
Панель 6: Tpanel;
Панель7: Tpanel;
Панель 8: Tpanel;
Панель11: Tpanel;
Панель22: Tpanel;
Панель33: Tpanel;
Панель44: TPANEL;
Панель 55: Tpanel;
Панель66: TPANEL;
Панель77: Tpanel;
Панель 88: TPANEL;
Баттон1: Tbutton;
Процедура edit1mouseMove (отправитель: tobject; shift: tshiftState; x,
Y: целое число);
Процедура edit1mousedown (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
Процедура edit1mouseup (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
Процедура FormuseDown (отправитель: Tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
Процедура Button1mousedown (отправитель: Tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
процедура Button1mouseMove (отправитель: tobject; shift: tshiftState; x,
Y: целое число);
Процедура Button1mouseup (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
частный
{Частные объявления}
публичный
{Публичные объявления}
конец;
вар
Форма1: tform1;
S, A: логический;
выполнение
{$ R *.dfm}
Процедура ManipulateControl (Control: Tcontrol; Shift: TshiftState; X, Y, точность: целое число);
var sc_manipulate: слово;
начинать
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最左侧 *************************************** ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (x <= precision) и (y> precision) и (y <control.height-presigion)
Тогда начните
Sc_manipulate: = $ f001;
Control.cursor: = crsizewe;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最右侧 *************************************** ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x> = control.width-presision) и (y> recision) и (y <control.height-presigion)
Тогда начните
Sc_manipulate: = $ f002;
Control.cursor: = crsizewe;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最上侧 *************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x> precision) и (x <control.width-presision) и (y <= precision)
Тогда начните
Sc_manipulate: = $ f003;
Control.cursor: = crsizens;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左上角 *************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x <= точность) и (y <= точность)
Тогда начните
Sc_manipulate: = $ f004;
Control.cursor: = crsizenwse;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右上角 *************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x> = control.width-presision) и (y <= recision)
Тогда начните
Sc_manipulate: = $ f005;
Control.cursor: = crsizenesw;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最下侧 *************************************** ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x> precision) и (x <control.width-presision) и (y> = control.height-presigion)
Тогда начните
Sc_manipulate: = $ f006;
Control.cursor: = crsizens;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左下角 *************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x <= precision) и (y> = control.height-presigion)
Тогда начните
Sc_manipulate: = $ f007;
Control.cursor: = crsizenesw;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右下角 *************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x> = control.width-presigion) и (y> = control.height-presigion)
Тогда начните
Sc_manipulate: = $ f008;
Control.cursor: = crsizenwse;
конец
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的客户区 (移动整个控件) *********************************** *****
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
иначе if (x> 5) и (y> 5) и (x <control.width-5) и (y <control.height-5)
Тогда начните
Sc_manipulate: = $ f009;
Control.cursor: = crsizeall;
конец
иначе начинается
Sc_manipulate: = $ f000;
Control.cursor: = crdefault;
конец;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Если shift = [ssleft] тогда
начинать
Выполнение;
Control.perform (wm_syscommand, sc_manipulate, 0);
конец;
конец;
Процедура tform1.edit1mouseMove (отправитель: tobject; shift: tshiftstate; x,
Y: целое число);
начинать
ManipulateControl ((отправитель как TControl), Shift, X, Y, 9);
edit1.hint: = 'Edit1: tedit'+chr (13)+'Origin:'+inttoStr (edit1.top)+','
+InttoStr (edit1.left)+';'+'size:'+inttoStr (edit1.width)+inttoStr (edit1.height)+chr (13)+'tab Stop: ture; заказ: 0';
Если s = true then
начинать
A: = false;
панель1.visible: = true; панель2.visible: = true; панель3.visible: = true;
панель4.visible: = true; панель5.visible: = true;
панель 6.visible: = true; панель7.visible: = true; панель8.visible: = true;
panel1.top:=edit1.top-6;
panel1.left: = edit1.left-6;
panel2.top:=edit1.top+(edit1.height div 2) -3;
панель2.left: = edit1.left-6;
panel3.top:=edit1.top+edit1.height;
панель3.left: = edit1.left-6;
panel4.top:=edit1.top-6;
panel4.left: = edit1.left+(edit1.width div 2);
панель5.top:=edit1.top+edit1.height;
panel5.left: = edit1.left+(edit1.width div 2);
панель 6.top:=edit1.top-6;
panel6.left: = edit1.left+edit1.width;
panel7.top:=edit1.top+(edit1.height div 2) -3;
panel7.left: = edit1.left+edit1.width;
panel8.top:=edit1.top+edit1.height;
panel8.left: = edit1.left+edit1.width;
конец;
конец;
Процедура tform1.edit1mousedown (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
начинать
панель11.visible: = false; панель22.visible: = false; панель33.visible: = false;
панель 44.visible: = false; панель55.visible: = false;
панель 66.visible: = false; панель77.visible: = false; панель88.visible: = false;
S: = true;
A: = false;
панель1.visible: = true; панель2.visible: = true; панель3.visible: = true;
панель4.visible: = true; панель5.visible: = true;
панель 6.visible: = true; панель7.visible: = true; панель8.visible: = true;
panel1.top:=edit1.top-6;
panel1.left: = edit1.left-6;
panel2.top:=edit1.top+(edit1.height div 2) -3;
панель2.left: = edit1.left-6;
panel3.top:=edit1.top+edit1.height;
панель3.left: = edit1.left-6;
panel4.top:=edit1.top-6;
panel4.left: = edit1.left+(edit1.width div 2);
панель5.top:=edit1.top+edit1.height;
panel5.left: = edit1.left+(edit1.width div 2);
панель 6.top:=edit1.top-6;
panel6.left: = edit1.left+edit1.width;
panel7.top:=edit1.top+(edit1.height div 2) -3;
panel7.left: = edit1.left+edit1.width;
panel8.top:=edit1.top+edit1.height;
panel8.left: = edit1.left+edit1.width;
конец;
Процедура tform1.edit1mouseup (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
начинать
Если s = true then
начинать
A: = false;
S: = false;
панель1.visible: = true; панель2.visible: = true; панель3.visible: = true;
панель4.visible: = true; панель5.visible: = true;
панель 6.visible: = true; панель7.visible: = true; панель8.visible: = true;
panel1.top:=edit1.top-6;
panel1.left: = edit1.left-6;
panel2.top:=edit1.top+(edit1.height div 2) -3;
панель2.left: = edit1.left-6;
panel3.top:=edit1.top+edit1.height;
панель3.left: = edit1.left-6;
panel4.top:=edit1.top-6;
panel4.left: = edit1.left+(edit1.width div 2);
панель5.top:=edit1.top+edit1.height;
panel5.left: = edit1.left+(edit1.width div 2);
панель 6.top:=edit1.top-6;
panel6.left: = edit1.left+edit1.width;
panel7.top:=edit1.top+(edit1.height div 2) -3;
panel7.left: = edit1.left+edit1.width;
panel8.top:=edit1.top+edit1.height;
panel8.left: = edit1.left+edit1.width;
конец;
конец;
Процедура tform1.formmousedown (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
начинать
A: = false;
S: = false;
панель1.visible: = false; панель2.visible: = false; панель3.visible: = false;
панель4.visible: = false; панель5.visible: = false;
панель 6.visible: = false; панель7.visible: = false; панель8.visible: = false;
// **********
панель11.visible: = false; панель22.visible: = false; панель33.visible: = false;
панель 44.visible: = false; панель55.visible: = false;
панель 66.visible: = false; панель77.visible: = false; панель88.visible: = false;
конец;
Процедура tform1.button1mouseup (отправитель: tobject; кнопка: tmousebutton; shift: tshiftstate; x, y: Integer);
Начните, если a = true, тогда
начинать
A: = false;
S: = false;
панель1.visible: = false; панель2.visible: = false; панель3.visible: = false;
панель4.visible: = false; панель5.visible: = false;
панель 6.visible: = false; панель7.visible: = false; панель8.visible: = false;
панель11.visible: = true;
панель22.visible: = true;
панель33.visible: = true;
панель 44.visible: = true;
панель55.visible: = true;
панель 66.visible: = true;
панель77.visible: = true;
панель88.visible: = true;
Panel11.top:=button1.top-6;
panel11.left: = button1.left-6;
Panel22.top:=button1.top+(button1.height div 2) -3;
панель22.left: = button1.left-6;
Panel33.top:=button1.top+button1.height;
панель33.left: = button1.left-6;
Panel44.top:=button1.top-6;
panel44.left: = button1.left+(button1.width div 2);
Panel55.top:=button1.top+button1.height;
Panel55.left: = button1.left+(Button1.width Div 2);
панель 66.top:=button1.top-6;
panel66.left: = button1.left+button1.width;
panel77.top:=button1.top+(button1.height div 2) -3;
панель77.left: = button1.left+button1.width;
panel88.top:=button1.top+button1.height;
panel88.left: = button1.left+button1.width;
конец;
конец;
Процедура tform1.button1mousedown (отправитель: tobject; кнопка: tmousebutton;
Сдвиг: TshiftState; X, y: целое число);
начинать
A: = true;
S: = false;
панель1.visible: = false; панель2.visible: = false; панель3.visible: = false;
панель4.visible: = false; панель5.visible: = false;
панель 6.visible: = false; панель7.visible: = false; панель8.visible: = false;
панель11.visible: = true; панель22.visible: = true; панель33.visible: = true;
панель 44.visible: = true; панель55.visible: = true;
панель 66.visible: = true; панель77.visible: = true; панель88.visible: = true;
Panel11.top:=button1.top-6;
panel11.left: = button1.left-6;
Panel22.top:=button1.top+(button1.height div 2) -3;
панель22.left: = button1.left-6;
Panel33.top:=button1.top+button1.height;
панель33.left: = button1.left-6;
Panel44.top:=button1.top-6;
panel44.left: = button1.left+(button1.width div 2);
Panel55.top:=button1.top+button1.height;
Panel55.left: = button1.left+(Button1.width Div 2);
панель 66.top:=button1.top-6;
panel66.left: = button1.left+button1.width;
panel77.top:=button1.top+(button1.height div 2) -3;
панель77.left: = button1.left+button1.width;
panel88.top:=button1.top+button1.height;
panel88.left: = button1.left+button1.width;
конец;
Процедура tform1.button1mouseMove (отправитель: tobject; shift: tshiftstate; x,
Y: целое число);
начинать
ManipulateControl ((отправитель как TControl), Shift, X, Y, 9);
edit1.hint: = 'button1: tbutton'+chr (13)+'Origin:'+inttoStr (button1.top)+','
+InttoStr (button1.left)+';'+'size:'+inttoStr (button1.width)+inttoStr (button1.height)+chr (13)+'Стоп: ture; порядок: 0';
Если a = true, то
начинать
S: = false;
панель1.visible: = false; панель2.visible: = false; панель3.visible: = false;
панель4.visible: = false; панель5.visible: = false;
панель 6.visible: = false; панель7.visible: = false; панель8.visible: = false;
панель11.visible: = true; панель22.visible: = true; панель33.visible: = true;
панель 44.visible: = true; панель55.visible: = true;
панель 66.visible: = true; панель77.visible: = true; панель88.visible: = true;
Panel11.top:=button1.top-6;
panel11.left: = button1.left-6;
Panel22.top:=button1.top+(button1.height div 2) -3;
панель22.left: = button1.left-6;
Panel33.top:=button1.top+button1.height;
панель33.left: = button1.left-6;
Panel44.top:=button1.top-6;
panel44.left: = button1.left+(button1.width div 2);
Panel55.top:=button1.top+button1.height;
Panel55.left: = button1.left+(Button1.width Div 2);
панель 66.top:=button1.top-6;
panel66.left: = button1.left+button1.width;
panel77.top:=button1.top+(button1.height div 2) -3;
панель77.left: = button1.left+button1.width;
panel88.top:=button1.top+button1.height;
panel88.left: = button1.left+button1.width;
конец;
конец;
конец.