PUBLIC oform1 oform1=NEWOBJECT("form1") oform1.Show RETURN ************************************************** *-- Form: form1 (c:\testsep.scx) *-- ParentClass: form *-- BaseClass: form *-- Time Stamp: 01/18/05 04:13:02 PM * DEFINE CLASS form1 AS form Top = 0 Left = 0 Height = 184 Width = 375 DoCreate = .T. Caption = "Form1" mousedownatx = .NULL. Name = "Form1" ADD OBJECT grid1 AS grid WITH ; Height = 137, ; Left = 159, ; Top = 11, ; Width = 211, ; Name = "Grid1" ADD OBJECT edit1 AS editbox WITH ; Height = 137, ; Left = 5, ; Top = 11, ; Width = 148, ; Name = "Edit1" ADD OBJECT command1 AS commandbutton WITH ; Top = 151, ; Left = 285, ; Height = 27, ; Width = 84, ; Caption = "Exit", ; Name = "Command1" ADD OBJECT shape1 AS shape WITH ; Top = 11, ; Left = 153, ; Height = 137, ; Width = 7, ; MousePointer = 3, ; SpecialEffect = 0, ; Name = "Shape1" PROCEDURE command1.Click thisform.Release() ENDPROC PROCEDURE shape1.MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord thisform.MouseDownAtX = null ENDPROC PROCEDURE shape1.MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord local lnX, lnY if nButton = 1 and not Isnull(thisform.MouseDownAtX) lnX = thisform.MouseDownAtX - nXCoord if (thisform.Edit1.Width - lnX > 20) and (thisform.Grid1.Width + lnX > 20) this.Left = this.Left - lnX thisform.Edit1.Width = thisform.Edit1.Width - lnX thisform.Grid1.Width = thisform.Grid1.Width + lnX thisform.Grid1.Left = thisform.Grid1.Left - lnX thisform.MouseDownAtX = nXCoord endif endif ENDPROC PROCEDURE shape1.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord if nButton = 1 thisform.MouseDownAtX = nXCoord endif ENDPROC ENDDEFINE * *-- EndDefine: form1 **************************************************Por supuesto hay muchas mejoras que se le pueden hacer, como por ejemplo en la linea