الوحدة 1 ؛
واجهة
يستخدم
Windows ، الرسائل ، sysutils ، المتغيرات ، الفئات ، الرسومات ، عناصر التحكم ، النماذج ،
مربعات الحوار ، extctrls ، stdctrls ، jpeg ؛
const lmousedown = false ؛
يكتب
tform1 = فئة (tform)
EDIT1: TEDIT ؛
لوحة 2: tpanel ؛
لوحة 1: tpanel ؛
لوحة 3: tpanel ؛
لوحة 4: tpanel ؛
لوحة 5: tpanel ؛
لوحة 6: tpanel ؛
لوحة 7: tpanel ؛
لوحة 8: tpanel ؛
لوحة 11: tpanel ؛
لوحة 22: tpanel ؛
لوحة 33: tpanel ؛
لوحة 44: tpanel ؛
Panel55: tpanel ؛
لوحة 66: tpanel ؛
لوحة 77: tpanel ؛
Panel88: Tpanel ؛
Button1: Tbutton ؛
الإجراء edit1mousemove (المرسل: TOBJECT ؛ Shift: tshiftstate ؛ x ،
Y: عدد صحيح) ؛
الإجراء EDIT1MOSEDOWN (المرسل: TOBJECT ؛ زر: TMOUSEBUTTON ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
الإجراء EDIT1MOUSEUP (المرسل: TOBJECT ؛ زر: TMOUSEBUTTON ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
Formmousedown الإجراء (المرسل: TOBJECT ؛ زر: TMOUSEBUTTON ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
الإجراءات button1mousedown (المرسل: TOBJECT ؛ زر: TMOUSEBUTTON ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
الإجراءات button1mousemove (المرسل: TOBJECT ؛ Shift: tshiftstate ؛ x ،
Y: عدد صحيح) ؛
الإجراءات button1mouseup (المرسل: TOBJECT ؛ زر: TMOUSEBUTTON ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
خاص
{إعلانات خاصة}
عام
{الإعلانات العامة}
نهاية؛
var
Form1: Tform1 ؛
S ، A: منطقية ؛
تطبيق
{$ r *.dfm}
الإجراء manipulateControl (التحكم: tcontrol ؛ Shift: tshiftstate ؛ x ، y ، الدقة: عدد صحيح) ؛
var sc_manipulate: Word ؛
يبدأ
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最左侧 ***************************************** ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
إذا (x <= الدقة) و (y> الدقة) و (y <control.hight-secimion)
ثم ابدأ
sc_manipulate: = $ f001 ؛
control.cursor: = crsizewe ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最右侧 ***************************************** ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
وإلا إذا (x> = control.width-secimion) و (y> Precision) و (y <control.hight-fecision)
ثم ابدأ
sc_manipulate: = $ f002 ؛
control.cursor: = crsizewe ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最上侧 ****************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
وإلا
ثم ابدأ
sc_manipulate: = $ f003 ؛
control.cursor: = crsizens ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左上角 ****************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
آخر إذا (x <= الدقة) و (y <= الدقة)
ثم ابدأ
sc_manipulate: = $ f004 ؛
control.cursor: = crsizenwse ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右上角 ****************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
وإلا
ثم ابدأ
sc_manipulate: = $ f005 ؛
control.cursor: = crsizenesw ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最下侧 ***************************************** ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
وإلا
ثم ابدأ
sc_manipulate: = $ f006 ؛
control.cursor: = crsizens ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左下角 ****************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
وإلا
ثم ابدأ
sc_manipulate: = $ f007 ؛
control.cursor: = crsizenesw ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右下角 ****************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
آخر إذا (x> = control.width-secimion) و (y> = control.hight-secimion)
ثم ابدأ
sc_manipulate: = $ f008 ؛
control.cursor: = crsizenwse ؛
نهاية
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的客户区 (移动整个控件) *************************************** *****
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
آخر إذا (x> 5) و (y> 5) و (x <control.width-5) و (y <control.height-5)
ثم ابدأ
sc_manipulate: = $ f009 ؛
control.cursor: = crsizeall ؛
نهاية
آخر يبدأ
sc_manipulate: = $ f000 ؛
control.cursor: = crdefault ؛
نهاية؛
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
إذا تحول = [ssleft] ثم
يبدأ
RELEASECAPTURE
control.perform (wm_syscommand ، sc_manipulate ، 0) ؛
نهاية؛
نهاية؛
الإجراء tform1.edit1mousemove (المرسل: tobject ؛ Shift: tshiftstate ؛ x ،
Y: عدد صحيح) ؛
يبدأ
manipulateControl ((المرسل كما tcontrol) ، التحول ، 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 ؛ order: 0' ؛
إذا s = صحيح ثم
يبدأ
ج: = خطأ ؛
Panel1.visible: = true ؛ Panel2.visible: = True ؛ panel3.visible: = true ؛
panel4.visible: = true ؛ Panel5.visible: = True ؛
Panel6.visible: = true ؛ Panel7.visible: = true ؛ Panel8.visible: = true ؛
panel1.top:=edit1.top-6 ؛
Panel1.Left: = edit1.left-6 ؛
panel2.top:=edit1.top+(edit1.Height Div 2) -3 ؛
panel2.left: = edit1.left-6 ؛
panel3.top:=edit1.top+edit1.hight ؛
panel3.left: = edit1.left-6 ؛
panel4.top:=EDIT1.TOP-6 ؛
panel4.left: = edit1.left+(edit1.width div 2) ؛
panel5.top:=edit1.top+edit1.Height ؛
panel5.left: = edit1.left+(edit1.width div 2) ؛
panel6.top:=edit1.top-6 ؛
panel6.left: = edit1.left+edit1.width ؛
panel7.top:=EDIT1.TOP+(EDIT1.HEIGHE 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 ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
يبدأ
Panel11.visible: = false ؛ Panel22.visible: = false ؛ Pane33.visible: = false ؛
Panel44.visible: = false ؛ Panel55.visible: = false ؛
Panel66.visible: = false ؛ Panel77.visible: = false ؛ Panel88.visible: = false ؛
S: = صحيح ؛
ج: = خطأ ؛
Panel1.visible: = true ؛ Panel2.visible: = True ؛ panel3.visible: = true ؛
panel4.visible: = true ؛ Panel5.visible: = True ؛
Panel6.visible: = true ؛ Panel7.visible: = true ؛ Panel8.visible: = true ؛
panel1.top:=edit1.top-6 ؛
Panel1.Left: = edit1.left-6 ؛
panel2.top:=edit1.top+(edit1.Height Div 2) -3 ؛
panel2.left: = edit1.left-6 ؛
panel3.top:=edit1.top+edit1.hight ؛
panel3.left: = edit1.left-6 ؛
panel4.top:=EDIT1.TOP-6 ؛
panel4.left: = edit1.left+(edit1.width div 2) ؛
panel5.top:=edit1.top+edit1.Height ؛
panel5.left: = edit1.left+(edit1.width div 2) ؛
panel6.top:=edit1.top-6 ؛
panel6.left: = edit1.left+edit1.width ؛
panel7.top:=EDIT1.TOP+(EDIT1.HEIGHE 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 ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
يبدأ
إذا s = صحيح ثم
يبدأ
ج: = خطأ ؛
S: = خطأ ؛
Panel1.visible: = true ؛ Panel2.visible: = True ؛ panel3.visible: = true ؛
panel4.visible: = true ؛ Panel5.visible: = True ؛
Panel6.visible: = true ؛ Panel7.visible: = true ؛ Panel8.visible: = true ؛
panel1.top:=edit1.top-6 ؛
Panel1.Left: = edit1.left-6 ؛
panel2.top:=edit1.top+(edit1.Height Div 2) -3 ؛
panel2.left: = edit1.left-6 ؛
panel3.top:=edit1.top+edit1.hight ؛
panel3.left: = edit1.left-6 ؛
panel4.top:=EDIT1.TOP-6 ؛
panel4.left: = edit1.left+(edit1.width div 2) ؛
panel5.top:=edit1.top+edit1.Height ؛
panel5.left: = edit1.left+(edit1.width div 2) ؛
panel6.top:=edit1.top-6 ؛
panel6.left: = edit1.left+edit1.width ؛
panel7.top:=EDIT1.TOP+(EDIT1.HEIGHE 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 ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
يبدأ
ج: = خطأ ؛
S: = خطأ ؛
Panel1.visible: = false ؛ panel2.visible: = false ؛ panel3.visible: = false ؛
panel4.visible: = false ؛ Panel5.visible: = false ؛
Panel6.visible: = false ؛ Panel7.visible: = false ؛ Panel8.visible: = false ؛
// **********
Panel11.visible: = false ؛ Panel22.visible: = false ؛ Pane33.visible: = false ؛
Panel44.visible: = false ؛ Panel55.visible: = false ؛
Panel66.visible: = false ؛ Panel77.visible: = false ؛ Panel88.visible: = false ؛
نهاية؛
الإجراء tform1.button1mouseup (المرسل: toopject ؛ زر: tmousebutton ؛ Shift: tshiftstate ؛ x ، y: integer) ؛
ابدأ إذا كان = صحيح إذن
يبدأ
ج: = خطأ ؛
S: = خطأ ؛
Panel1.visible: = false ؛ panel2.visible: = false ؛ panel3.visible: = false ؛
panel4.visible: = false ؛ Panel5.visible: = false ؛
Panel6.visible: = false ؛ Panel7.visible: = false ؛ Panel8.visible: = false ؛
Panel11.visible: = true ؛
Panel22.visible: = true ؛
Pane33.visible: = true ؛
Panel44.visible: = true ؛
Panel55.visible: = true ؛
Panel66.visible: = true ؛
Panel77.visible: = true ؛
Panel88.visible: = true ؛
Panel11.top:=button1.top-6 ؛
Panel11.left: = button1.left-6 ؛
panel22.top:=button1.top+(button1.Height Div 2) -3 ؛
Panel22.left: = button1.left-6 ؛
Panel33.top:=button1.top+button1.Height ؛
Panel33.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) ؛
Panel66.top:=button1.top-6 ؛
Panel66.Left: = button1.left+button1.width ؛
panel77.top:=button1.top+(button1.height div 2) -3 ؛
panel77.left: = button1.left+button1.width ؛
panel88.top:=button1.top+button1.Height ؛
panel88.left: = button1.left+button1.width ؛
نهاية؛
نهاية؛
الإجراء tform1.button1mousedown (المرسل: tooject ؛ زر: tmousebutton ؛
Shift: Tshiftstate ؛ x ، y: عدد صحيح) ؛
يبدأ
ج: = صحيح ؛
S: = خطأ ؛
Panel1.visible: = false ؛ panel2.visible: = false ؛ panel3.visible: = false ؛
panel4.visible: = false ؛ Panel5.visible: = false ؛
Panel6.visible: = false ؛ Panel7.visible: = false ؛ Panel8.visible: = false ؛
Panel11.visible: = true ؛ Panel22.visible: = true ؛ Pane33.visible: = true ؛
Panel44.visible: = true ؛ Panel55.visible: = true ؛
Panel66.visible: = true ؛ Panel77.visible: = true ؛ Panel88.visible: = true ؛
Panel11.top:=button1.top-6 ؛
Panel11.left: = button1.left-6 ؛
panel22.top:=button1.top+(button1.Height Div 2) -3 ؛
Panel22.left: = button1.left-6 ؛
Panel33.top:=button1.top+button1.Height ؛
Panel33.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) ؛
Panel66.top:=button1.top-6 ؛
Panel66.Left: = button1.left+button1.width ؛
panel77.top:=button1.top+(button1.height div 2) -3 ؛
panel77.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) ، التحول ، 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)+'tab stop: ture ؛ order: 0' ؛
إذا كان = صحيح ثم
يبدأ
S: = خطأ ؛
Panel1.visible: = false ؛ panel2.visible: = false ؛ panel3.visible: = false ؛
panel4.visible: = false ؛ Panel5.visible: = false ؛
Panel6.visible: = false ؛ Panel7.visible: = false ؛ Panel8.visible: = false ؛
Panel11.visible: = true ؛ Panel22.visible: = true ؛ Pane33.visible: = true ؛
Panel44.visible: = true ؛ Panel55.visible: = true ؛
Panel66.visible: = true ؛ Panel77.visible: = true ؛ Panel88.visible: = true ؛
Panel11.top:=button1.top-6 ؛
Panel11.left: = button1.left-6 ؛
panel22.top:=button1.top+(button1.Height Div 2) -3 ؛
Panel22.left: = button1.left-6 ؛
Panel33.top:=button1.top+button1.Height ؛
Panel33.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) ؛
Panel66.top:=button1.top-6 ؛
Panel66.Left: = button1.left+button1.width ؛
panel77.top:=button1.top+(button1.height div 2) -3 ؛
panel77.left: = button1.left+button1.width ؛
panel88.top:=button1.top+button1.Height ؛
panel88.left: = button1.left+button1.width ؛
نهاية؛
نهاية؛
نهاية.