unit unit1;
antarmuka
penggunaan
Windows, pesan, sysutils, varian, kelas, grafik, kontrol, formulir,
Dialog, extctrls, stdctrls, jpeg;
const lmousedown = false;
jenis
Tform1 = class (tform)
Edit1: tedit;
Panel2: tpanel;
Panel1: tpanel;
Panel3: tpanel;
Panel4: tpanel;
Panel5: tpanel;
Panel6: tpanel;
Panel7: tpanel;
Panel8: tpanel;
Panel11: tpanel;
Panel22: tpanel;
Panel33: tpanel;
Panel44: tpanel;
Panel55: tpanel;
Panel66: tpanel;
Panel77: tpanel;
Panel88: tpanel;
Button1: tbutton;
Prosedur Edit1MoUseMove (pengirim: Tobject; Shift: TshiftState; x,
Y: Integer);
Prosedur Edit1mousedown (pengirim: Tobject; Tombol: tmousebutton;
Shift: TshiftSate; X, Y: Integer);
Prosedur Edit1MouseUp (pengirim: TOBJEKS; Tombol: Tmousebutton;
Shift: TshiftSate; X, Y: Integer);
Prosedur Formmousedown (Pengirim: Tobject; Tombol: Tmousebutton;
Shift: TshiftSate; X, Y: Integer);
Prosedur Button1mousedown (pengirim: TOBJEK; Tombol: Tmousebutton;
Shift: TshiftSate; X, Y: Integer);
Prosedur Button1MoUseMove (pengirim: TOBJEK; SHIFT: TSHIFTSTATE; X,
Y: Integer);
Prosedur Button1MouseUp (pengirim: Tobject; Tombol: tmousebutton;
Shift: TshiftSate; X, Y: Integer);
pribadi
{Deklarasi Pribadi}
publik
{Deklarasi Publik}
akhir;
var
Form1: tform1;
S, A: Boolean;
pelaksanaan
{$ R *.dfm}
Prosedur Manipulatecontrol (Kontrol: TControl; Shift: Tshiftate; x, y, presisi: integer);
var sc_manipulate: word;
mulai
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最左侧 *************************************** *****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
if (x <= presisi) dan (y> presisi) dan (y <control.height-presisi)
lalu mulai
Sc_manipulate: = $ f001;
Control.cursor: = crsizewe;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最右侧 *************************************** *****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain if (x> = control.width-precision) dan (y> precision) dan (y <control.height-presisi)
lalu mulai
Sc_manipulate: = $ f002;
Control.cursor: = crsizewe;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最上侧 ************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain jika (x> presisi) dan (x <control.width-precision) dan (y <= presisi)
lalu mulai
Sc_manipulate: = $ f003;
Control.cursor: = crsizens;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左上角 ************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain jika (x <= presisi) dan (y <= presisi)
lalu mulai
Sc_manipulate: = $ f004;
Control.cursor: = crsizenwse;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右上角 ************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain jika (x> = control.width-precision) dan (y <= presisi)
lalu mulai
Sc_manipulate: = $ f005;
Control.cursor: = crsizenesw;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最下侧 *************************************** *****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain jika (x> presisi) dan (x <control.width-precision) dan (y> = control.height-presisi)
lalu mulai
Sc_manipulate: = $ f006;
Control.cursor: = crsizens;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左下角 ************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain jika (x <= presisi) dan (y> = control.height-presisi)
lalu mulai
Sc_manipulate: = $ f007;
Control.cursor: = crsizenesw;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右下角 ************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain jika (x> = control.width-precision) dan (y> = control.height-presisi)
lalu mulai
Sc_manipulate: = $ f008;
Control.cursor: = crsizenwse;
akhir
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的客户区(移动整个控件) *********************************** *****
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
lain jika (x> 5) dan (y> 5) dan (x <control.width-5) dan (y <control.height-5)
lalu mulai
Sc_manipulate: = $ f009;
Control.cursor: = crsizeall;
akhir
lagi mulai
Sc_manipulate: = $ f000;
Control.cursor: = crdefault;
akhir;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
Jika shift = [ssleft] maka
mulai
Releasecapture;
Control.perform (wm_syscommand, sc_manipulate, 0);
akhir;
akhir;
Prosedur tform1.edit1mouseMove (pengirim: tobject; shift: tshiftstate; x,
Y: Integer);
mulai
Manipulatecontrol ((pengirim sebagai 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 berhenti: ture; order: 0';
Jika s = true maka
mulai
A: = false;
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.height;
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.height Div 2) -3;
Panel7.Left: = Edit1.Left+Edit1.width;
Panel8.top:=Edit1.top+Edit1.height;
Panel8.Left: = Edit1.Left+Edit1.width;
akhir;
akhir;
Prosedur tform1.edit1mousedown (pengirim: tobject; tombol: tmousebutton;
Shift: TshiftSate; X, Y: Integer);
mulai
Panel11.visible: = false; panel22.visible: = false; panel33. visible: = false;
panel44. visible: = false; panel55.visible: = false;
panel66.visible: = false; panel77.visible: = false; Panel88.visible: = false;
s: = true;
A: = false;
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.height;
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.height Div 2) -3;
Panel7.Left: = Edit1.Left+Edit1.width;
Panel8.top:=Edit1.top+Edit1.height;
Panel8.Left: = Edit1.Left+Edit1.width;
akhir;
Prosedur TFORM1.Edit1MouseUp (pengirim: TOBJEKS; Tombol: TMousebutton;
Shift: TshiftSate; X, Y: Integer);
mulai
Jika s = true maka
mulai
A: = false;
s: = false;
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.height;
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.height Div 2) -3;
Panel7.Left: = Edit1.Left+Edit1.width;
Panel8.top:=Edit1.top+Edit1.height;
Panel8.Left: = Edit1.Left+Edit1.width;
akhir;
akhir;
Prosedur TFORM1.FORMMOUSEDOWN (Pengirim: TOBJEK; Tombol: Tmousebutton;
Shift: TshiftSate; X, Y: Integer);
mulai
A: = false;
s: = false;
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; panel33. visible: = false;
panel44. visible: = false; panel55.visible: = false;
panel66.visible: = false; panel77.visible: = false; Panel88.visible: = false;
akhir;
Prosedur TFORM1.BUTTON1MOUSEUP (Pengirim: Tobject; Tombol: Tmousebutton; Shift: TshiftState; x, y: integer);
Mulailah jika a = true
mulai
A: = false;
s: = false;
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;
panel33. 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., = 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;
akhir;
akhir;
Prosedur TFORM1.BUTTON1MOUSEDOWN (Pengirim: Tobject; Tombol: Tmousebutton;
Shift: TshiftSate; X, Y: Integer);
mulai
A: = true;
s: = false;
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; panel33. 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., = 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;
akhir;
Prosedur TFORM1.BUTTON1MOUSEMOVE (Pengirim: Tobject; Shift: TshiftState; x,
Y: Integer);
mulai
Manipulatecontrol ((pengirim sebagai 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)+'tab berhenti: ture; order: 0';
Jika a = true maka
mulai
s: = false;
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; panel33. 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., = 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;
akhir;
akhir;
akhir.