unité unité 1;
interface
usages
Windows, messages, systèmes, variantes, classes, graphiques, contrôles, formulaires,
Dialogues, extctrls, stdctrls, jpeg;
const lmousedown = false;
taper
Tform1 = classe (tform)
Edit1: Tedit;
Panel2: Tpanel;
Panel1: Tpanel;
Panneau3: Tpanel;
Panel4: Tpanel;
Panel5: Tpanel;
Panel6: Tpanel;
Panel7: Tpanel;
Panel8: Tpanel;
PANNEL11: TPANEL;
Panel22: TPanel;
Panel33: TPanel;
Panel44: Tpanel;
Panel55: Tpanel;
Panel66: Tpanel;
Panel77: Tpanel;
Panel88: Tpanel;
Button1: Tbutton;
Procédure Edit1MousMove (expéditeur: Tobject; Shift: TshiftState; x,
Y: entier);
Procédure Edit1MousDown (Sender: Tobject; Bouton: TMouseButton;
Shift: TshiftState; X, y: entier);
Procédure Edit1MouseUp (Sender: Tobject; Bouton: TMouseButton;
Shift: TshiftState; X, y: entier);
Procédure FormMousDown (expéditeur: tobject; bouton: tmouseButton;
Shift: TshiftState; X, y: entier);
Procédure Button1MousDown (Sender: Tobject; Bouton: TMouseButton;
Shift: TshiftState; X, y: entier);
Procédure Button1MousMove (expéditeur: Tobject; Shift: TshiftState; x,
Y: entier);
Procédure Button1MouseUp (Sender: Tobject; Bouton: TMouseButton;
Shift: TshiftState; X, y: entier);
privé
{Déclarations privées}
publique
{Déclarations publiques}
fin;
var
FORM1: TFORM1;
S, A: Boolean;
mise en œuvre
{$ R * .dfm}
Procédure ManipulateControl (Control: TControl; Shift: TshiftState; X, Y, précision: entier);
var sc_manipulate: word;
commencer
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最左侧 ******************************************* ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (x <= précision) et (y> précision) et (y <contrôle.height-précision)
Puis commence
SC_MANIPULE: = $ F001;
Contrôle.cursor: = crSizewe;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最右侧 ******************************************* ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x> = control
Puis commence
SC_MANIPULE: = $ F002;
Contrôle.cursor: = crSizewe;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最上侧 ******************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x> précision) et (x <contrôle.width-précis) et (y <= précision)
Puis commence
SC_MANIPULET: = $ F003;
Control.cursor: = CRSIZENS;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左上角 ******************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x <= précision) et (y <= précision)
Puis commence
SC_MANIPULE: = $ F004;
Control.cursor: = CRSIZENWSE;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右上角 ******************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x> = contrôle.width-précis) et (y <= précision)
Puis commence
SC_MANIPULE: = $ F005;
Control.cursor: = CRSIZENESW;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的最下侧 ******************************************* ***************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x> précision) et (x <contrôle.width-précis) et (y> = contrôle.height-précis)
Puis commence
SC_MANIPULAT: = $ F006;
Control.cursor: = CRSIZENS;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的左下角 ******************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x <= précision) et (y> = contrôle.height-précis)
Puis commence
SC_MANIPULAT: = $ F007;
Control.cursor: = CRSIZENESW;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的右下角 ******************************************** ****************
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x> = contrôle.width-précis) et (y> = contrôle.height-précis)
Puis commence
SC_MANIPULET: = $ F008;
Control.cursor: = CRSIZENWSE;
fin
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 光标在控件的客户区 (移动整个控件)) ************************************* *****
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
else if (x> 5) et (y> 5) et (x <contrôle.width-5) et (y <control.height-5)
Puis commence
SC_MANIPULET: = $ F009;
Control.cursor: = CRSIZEALL;
fin
d'autre commence
SC_MANIPULE: = $ f000;
Control.Cursor: = Crdefault;
fin;
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Si shift = [ssleft] alors
commencer
Releasecapture;
Control.perform (wm_syscommand, sc_manipulate, 0);
fin;
fin;
Procédure tform1.edit1mousmove (expéditeur: tobject; shift: tshiftState; x,
Y: entier);
commencer
ManipulateControl ((expéditeur en tant que TControl), Shift, X, Y, 9);
edit1.hint: = 'edit1: tedit' + chr (13) + 'Origin:' + inttoStr (edit1.top) + ','
+ IntToStr (edit1.left) + ';' + 'taille:' + inttoStr (edit1.width) + inttoStr (edit1.height) + chr (13) + 'tab stop: ture; ordre: 0';
Si s = true alors
commencer
a: = false;
PANNEL1.VISIBLE: = TRUE; PANNEL2.Visible: = true; PANNEL3.Visible: = true;
PANNEL4.Visible: = true; PANNEL5.Visible: = true;
PANNEL6.VISIBLE: = TRUE; PANNEL7.VISIBLE: = TRUE; PANNEL8.VISIBLE: = TRUE;
panneau1.top:=edit1.top-6;
panneau1.left: = edit1.left-6;
PANNEL2.TOP:=Edit1.top+(edit1.Height Div 2) -3;
Panneau2.left: = edit1.left-6;
PANNEL3.TOP:=Edit1.Top+Edit1.Height;
Panel3.left: = edit1.left-6;
PANNEL4.TOP:=Edit1.top-6;
PANNEL4.left: = edit1.left + (edit1.width div 2);
PANNEL5.TOP:=Edit1.Top+Edit1.Height;
PANNEL5.left: = edit1.left + (edit1.width div 2);
PANNEL6.TOP:=Edit1.top-6;
panneau 6.left: = edit1.left + edit1.width;
PANNEL7.TOP:=Edit1.top+(edit1.Height Div 2) -3;
panneau7.left: = edit1.left + edit1.width;
PANNEL8.TOP:=Edit1.Top+Edit1.Height;
PANNEL8.LEFT: = EDIT1.LEFT + EDIT1.WIDTH;
fin;
fin;
Procédure tform1.edit1mousedown (expéditeur: tobject; bouton: tmousebutton;
Shift: TshiftState; X, y: entier);
commencer
PANNEL11.VISIBLE: = FAUX; PANNEL22.VISIBLE: = FAUX; PANNEL33.Visible: = false;
PANNEL44.Visible: = false; PANNEL55.VISIBLE: = FAUX;
PANNEL66.VISIBLE: = FAUX; PANNEL77.VISIBLE: = FAUX; PANNEL88.VISIBLE: = FAUX;
S: = true;
a: = false;
PANNEL1.VISIBLE: = TRUE; PANNEL2.Visible: = true; PANNEL3.Visible: = true;
PANNEL4.Visible: = true; PANNEL5.Visible: = true;
PANNEL6.VISIBLE: = TRUE; PANNEL7.VISIBLE: = TRUE; PANNEL8.VISIBLE: = TRUE;
panneau1.top:=edit1.top-6;
panneau1.left: = edit1.left-6;
PANNEL2.TOP:=Edit1.top+(edit1.Height Div 2) -3;
Panneau2.left: = edit1.left-6;
PANNEL3.TOP:=Edit1.Top+Edit1.Height;
Panel3.left: = edit1.left-6;
PANNEL4.TOP:=Edit1.top-6;
PANNEL4.left: = edit1.left + (edit1.width div 2);
PANNEL5.TOP:=Edit1.Top+Edit1.Height;
PANNEL5.left: = edit1.left + (edit1.width div 2);
PANNEL6.TOP:=Edit1.top-6;
panneau 6.left: = edit1.left + edit1.width;
PANNEL7.TOP:=Edit1.top+(edit1.Height Div 2) -3;
panneau7.left: = edit1.left + edit1.width;
PANNEL8.TOP:=Edit1.Top+Edit1.Height;
PANNEL8.LEFT: = EDIT1.LEFT + EDIT1.WIDTH;
fin;
Procédure tform1.edit1mouseup (expéditeur: tobject; bouton: tmouseButton;
Shift: TshiftState; X, y: entier);
commencer
Si s = true alors
commencer
a: = false;
s: = false;
PANNEL1.VISIBLE: = TRUE; PANNEL2.Visible: = true; PANNEL3.Visible: = true;
PANNEL4.Visible: = true; PANNEL5.Visible: = true;
PANNEL6.VISIBLE: = TRUE; PANNEL7.VISIBLE: = TRUE; PANNEL8.VISIBLE: = TRUE;
panneau1.top:=edit1.top-6;
panneau1.left: = edit1.left-6;
PANNEL2.TOP:=Edit1.top+(edit1.Height Div 2) -3;
Panneau2.left: = edit1.left-6;
PANNEL3.TOP:=Edit1.Top+Edit1.Height;
Panel3.left: = edit1.left-6;
PANNEL4.TOP:=Edit1.top-6;
PANNEL4.left: = edit1.left + (edit1.width div 2);
PANNEL5.TOP:=Edit1.Top+Edit1.Height;
PANNEL5.left: = edit1.left + (edit1.width div 2);
PANNEL6.TOP:=Edit1.top-6;
panneau 6.left: = edit1.left + edit1.width;
PANNEL7.TOP:=Edit1.top+(edit1.Height Div 2) -3;
panneau7.left: = edit1.left + edit1.width;
PANNEL8.TOP:=Edit1.Top+Edit1.Height;
PANNEL8.LEFT: = EDIT1.LEFT + EDIT1.WIDTH;
fin;
fin;
Procédure TForm1.FormmousDown (Sender: Tobject; Bouton: TMouseButton;
Shift: TshiftState; X, y: entier);
commencer
a: = false;
s: = false;
PANNEL1.VISIBLE: = FAUX; PANNEL2.Visible: = false; PANNEL3.Visible: = false;
PANNEL4.Visible: = false; PANNEL5.Visible: = false;
PANNEL6.VISIBLE: = FAUX; PANNEL7.VISIBLE: = FAUX; PANNEL8.VISIBLE: = FAUX;
// **********
PANNEL11.VISIBLE: = FAUX; PANNEL22.VISIBLE: = FAUX; PANNEL33.Visible: = false;
PANNEL44.Visible: = false; PANNEL55.VISIBLE: = FAUX;
PANNEL66.VISIBLE: = FAUX; PANNEL77.VISIBLE: = FAUX; PANNEL88.VISIBLE: = FAUX;
fin;
Procédure tform1.button1mouseup (expéditeur: tobject; bouton: tmousebutton; shift: tshiftState; x, y: entier);
Commencez si a = true alors
commencer
a: = false;
s: = false;
PANNEL1.VISIBLE: = FAUX; PANNEL2.Visible: = false; PANNEL3.Visible: = false;
PANNEL4.Visible: = false; PANNEL5.Visible: = false;
PANNEL6.VISIBLE: = FAUX; PANNEL7.VISIBLE: = FAUX; PANNEL8.VISIBLE: = FAUX;
PANNEL11.VISIBLE: = TRUE;
Panel22.Visible: = true;
PANNEL33.Visible: = true;
PANNEL44.Visible: = true;
PANNEL55.Visible: = true;
PANNEL66.VISIBLE: = TRUE;
PANNEL77.VISIBLE: = TRUE;
PANNEL88.VISIBLE: = TRUE;
panneau11.top:=button1.top-6;
panneau11.left: = Button1.left-6;
PANNEL22.TOP:=button1.top+(BUTTON1.HEight Div 2) -3;
Panel22.left: = Button1.left-6;
PANNEL33.TOP:=button1.top+Button1.Height;
panneau33.left: = Button1.left-6;
PANNEL44.TOP:=BUTTON1.TOP-6;
PANNEL44.left: = Button1.left + (Button1.Width Div 2);
PANNEL55.TOP:=button1.top+Button1.Height;
PANNEL55.left: = Button1.left + (Button1.Width Div 2);
PANNEL66.TOP:=BUTTON1.TOP-6;
PANNEL66.LEFT: = Button1.left + Button1.Width;
PANNEL77.TOP:=button1.top+(BUTTON1.HEight Div 2) -3;
Panel77.left: = Button1.left + Button1.Width;
PANNEL88.TOP:=button1.top+Button1.Height;
PANNEL88.LEFT: = Button1.left + Button1.Width;
fin;
fin;
Procédure TForm1.Button1Moudown (Sender: Tobject; Bouton: TMouseButton;
Shift: TshiftState; X, y: entier);
commencer
a: = true;
s: = false;
PANNEL1.VISIBLE: = FAUX; PANNEL2.Visible: = false; PANNEL3.Visible: = false;
PANNEL4.Visible: = false; PANNEL5.Visible: = false;
PANNEL6.VISIBLE: = FAUX; PANNEL7.VISIBLE: = FAUX; PANNEL8.VISIBLE: = FAUX;
PANNEL11.VISIBLE: = TRUE; Panel22.Visible: = true; PANNEL33.Visible: = true;
PANNEL44.Visible: = true; PANNEL55.Visible: = true;
PANNEL66.VISIBLE: = TRUE; PANNEL77.VISIBLE: = TRUE; PANNEL88.VISIBLE: = TRUE;
panneau11.top:=button1.top-6;
panneau11.left: = Button1.left-6;
PANNEL22.TOP:=button1.top+(BUTTON1.HEight Div 2) -3;
Panel22.left: = Button1.left-6;
PANNEL33.TOP:=button1.top+Button1.Height;
panneau33.left: = Button1.left-6;
PANNEL44.TOP:=BUTTON1.TOP-6;
PANNEL44.left: = Button1.left + (Button1.Width Div 2);
PANNEL55.TOP:=button1.top+Button1.Height;
PANNEL55.left: = Button1.left + (Button1.Width Div 2);
PANNEL66.TOP:=BUTTON1.TOP-6;
PANNEL66.LEFT: = Button1.left + Button1.Width;
PANNEL77.TOP:=button1.top+(BUTTON1.HEight Div 2) -3;
Panel77.left: = Button1.left + Button1.Width;
PANNEL88.TOP:=button1.top+Button1.Height;
PANNEL88.LEFT: = Button1.left + Button1.Width;
fin;
Procédure TForm1.Button1MousMove (expéditeur: Tobject; Shift: TshiftState; x,
Y: entier);
commencer
ManipulateControl ((expéditeur en tant que TControl), Shift, X, Y, 9);
edit1.hint: = 'Button1: tbutton' + chr (13) + 'Origin:' + inttoStr (Button1.top) + ','
+ IntToStr (Button1.left) + ';' + 'taille:' + inttoStr (Button1.Width) + intToStr (Button1.Height) + Chr (13) + 'Tab Stop: Ture; Commande: 0';
Si a = true alors
commencer
s: = false;
PANNEL1.VISIBLE: = FAUX; PANNEL2.Visible: = false; PANNEL3.Visible: = false;
PANNEL4.Visible: = false; PANNEL5.Visible: = false;
PANNEL6.VISIBLE: = FAUX; PANNEL7.VISIBLE: = FAUX; PANNEL8.VISIBLE: = FAUX;
PANNEL11.VISIBLE: = TRUE; Panel22.Visible: = true; PANNEL33.Visible: = true;
PANNEL44.Visible: = true; PANNEL55.Visible: = true;
PANNEL66.VISIBLE: = TRUE; PANNEL77.VISIBLE: = TRUE; PANNEL88.VISIBLE: = TRUE;
panneau11.top:=button1.top-6;
panneau11.left: = Button1.left-6;
PANNEL22.TOP:=button1.top+(BUTTON1.HEight Div 2) -3;
Panel22.left: = Button1.left-6;
PANNEL33.TOP:=button1.top+Button1.Height;
panneau33.left: = Button1.left-6;
PANNEL44.TOP:=BUTTON1.TOP-6;
PANNEL44.left: = Button1.left + (Button1.Width Div 2);
PANNEL55.TOP:=button1.top+Button1.Height;
PANNEL55.left: = Button1.left + (Button1.Width Div 2);
PANNEL66.TOP:=BUTTON1.TOP-6;
PANNEL66.LEFT: = Button1.left + Button1.Width;
PANNEL77.TOP:=button1.top+(BUTTON1.HEight Div 2) -3;
Panel77.left: = Button1.left + Button1.Width;
PANNEL88.TOP:=button1.top+Button1.Height;
PANNEL88.LEFT: = Button1.left + Button1.Width;
fin;
fin;
fin.