Initial: flux text FoxBin2Prg (git urmareste .??2 in-arbore, binarele VFP git-ignored)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
571
clase/solution.vc2
Normal file
571
clase/solution.vc2
Normal file
@@ -0,0 +1,571 @@
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
*< FOXBIN2PRG: Version="1.21" SourceFile="solution.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||
*
|
||||
*
|
||||
DEFINE CLASS cmdclose AS commandbutton && Close button
|
||||
*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||
|
||||
*<PropValue>
|
||||
Cancel = .T.
|
||||
Caption = "Close"
|
||||
FontBold = .F.
|
||||
FontName = "MS Sans Serif"
|
||||
FontSize = 8
|
||||
Height = 23
|
||||
Name = "cmdclose"
|
||||
Width = 72
|
||||
*</PropValue>
|
||||
|
||||
PROCEDURE Click
|
||||
IF TYPE("THISFORM.Parent") = "O"
|
||||
THISFORMSET.Release
|
||||
ELSE
|
||||
THISFORM.Release
|
||||
ENDIF
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE Error
|
||||
LPARAMETERS nError, cMethod, nLine
|
||||
LOCAL lnChoice
|
||||
#DEFINE CR CHR(13)
|
||||
DO CASE
|
||||
CASE nError = 1545 && Uncommitted changes
|
||||
*------------------------------------
|
||||
#DEFINE MSG1_LOC "Do you want to save your changes?"
|
||||
#DEFINE MSG2_LOC "Uncommitted Changes"
|
||||
lnChoice = MESSAGEBOX(MSG1_LOC, 4+48+0, MSG2_LOC)
|
||||
DO CASE
|
||||
CASE lnChoice = 6 && yes
|
||||
=TABLEUPDATE(.T., .T.)
|
||||
CASE lnChoice = 7 && no
|
||||
=TABLEREVERT(.T.)
|
||||
ENDCASE
|
||||
OTHERWISE && Unanticipated error
|
||||
*--------------------------------------
|
||||
#DEFINE NUM_LOC "Error Number: "
|
||||
#DEFINE PROG_LOC "Program: "
|
||||
#DEFINE CAP_LOC "ERROR"
|
||||
lcMsg = NUM_LOC + ALLTRIM(STR(nError)) + CR + CR + ;
|
||||
MESSAGE()+ CR + CR + PROG_LOC + PROGRAM(1)
|
||||
lnChoice = MESSAGEBOX(lcMsg, 2+48+512, CAP_LOC)
|
||||
DO CASE
|
||||
CASE lnChoice = 3 &&Abort
|
||||
CANCEL
|
||||
CASE lnChoice = 4 &&Retry
|
||||
RETRY
|
||||
CASE lnChoice = 5 &&Ignore
|
||||
RETURN
|
||||
ENDCASE
|
||||
ENDCASE
|
||||
|
||||
ENDPROC
|
||||
|
||||
ENDDEFINE
|
||||
|
||||
DEFINE CLASS resizable AS custom
|
||||
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||
|
||||
*<DefinedPropArrayMethod>
|
||||
*m: addtoarray
|
||||
*m: adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects.
|
||||
*m: loopthroughcontrols
|
||||
*m: reset && Resets the Timer control so that it starts counting from 0.
|
||||
*m: setposition
|
||||
*m: setsize
|
||||
*p: initialformheight
|
||||
*p: initialformwidth
|
||||
*p: initialresize && Is this the first time the controls are being adjusted?
|
||||
*p: repositionlist
|
||||
*p: resizelist
|
||||
*a: acontrolstats[1,5]
|
||||
*</DefinedPropArrayMethod>
|
||||
|
||||
PROTECTED acontrolstats,initialformheight,initialformwidth,initialresize
|
||||
*<PropValue>
|
||||
Height = 19
|
||||
initialformheight = 0
|
||||
initialformwidth = 0
|
||||
initialresize = .T.
|
||||
Name = "resizable"
|
||||
repositionlist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner
|
||||
resizelist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner
|
||||
Width = 27
|
||||
*</PropValue>
|
||||
|
||||
PROTECTED PROCEDURE addtoarray
|
||||
LPARAMETERS oControl
|
||||
nLen = ALEN(THIS.aControlStats,1)
|
||||
THIS.aControlStats[nLen,1] = oControl.Top / THIS.InitialFormHeight
|
||||
THIS.aControlStats[nLen,2] = oControl.Left / THIS.InitialFormWidth
|
||||
THIS.aControlStats[nLen,3] = oControl.Height / THIS.InitialFormHeight
|
||||
THIS.aControlStats[nLen,4] = oControl.Width / THIS.InitialFormWidth
|
||||
THIS.aControlStats[nLen,5] = IIF(TYPE("oControl.FontSize") = 'U', 0, oControl.FontSize)
|
||||
DIMENSION THIS.aControlStats[nLen+1, 5]
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects.
|
||||
IF THIS.InitialResize
|
||||
THIS.LoopThroughControls("INITIALIZE_AND_ADJUST")
|
||||
THIS.InitialResize = .F.
|
||||
ELSE
|
||||
THIS.LoopThroughControls("ADJUST")
|
||||
ENDIF
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE Init
|
||||
THIS.InitialFormHeight = THISFORM.Height
|
||||
THIS.InitialFormWidth = THISFORM.Width
|
||||
ENDPROC
|
||||
|
||||
PROTECTED PROCEDURE loopthroughcontrols
|
||||
LPARAMETERS cTask
|
||||
* Valid parameters for cTask are 'Initialize_And_Adjust' and 'Adjust'
|
||||
cTask = UPPER(cTask)
|
||||
|
||||
nOldDecimal = SET("DECIMAL")
|
||||
SET DECIMAL TO 18
|
||||
|
||||
nPos = 0
|
||||
THISFORM.LockScreen = .T.
|
||||
FOR m.i = 1 TO THISFORM.ControlCount
|
||||
oControl = THISFORM.Controls[m.i]
|
||||
nPos = nPos + 1
|
||||
If cTask = 'INITIALIZE_AND_ADJUST'
|
||||
THIS.AddToArray(oControl)
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.ResizeList
|
||||
THIS.SetSize(oControl, nPos)
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.RepositionList
|
||||
THIS.SetPosition(oControl, nPos)
|
||||
ENDIF
|
||||
|
||||
*A pageframe can contain only pages
|
||||
IF THISFORM.Controls[m.i].Baseclass$"Pageframe"
|
||||
*Loop through each page of the pageframe
|
||||
FOR m.j = 1 TO THISFORM.Controls[m.i].PageCount
|
||||
WITH THISFORM.Controls[m.i].pages[m.j]
|
||||
*loop through all the controls on the page
|
||||
FOR m.k = 1 TO .ControlCount
|
||||
nPos = nPos + 1
|
||||
IF cTask = 'INITIALIZE_AND_ADJUST'
|
||||
THIS.AddToArray(.Controls[m.k])
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.ResizeList
|
||||
THIS.SetSize(oControl, nPos)
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.RepositionList
|
||||
THIS.SetPosition(oControl, nPos)
|
||||
ENDIF
|
||||
ENDFOR
|
||||
ENDWITH
|
||||
ENDFOR
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
THISFORM.LockScreen = .F.
|
||||
SET DECIMAL TO nOldDecimal
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE reset && Resets the Timer control so that it starts counting from 0.
|
||||
* Call the reset method when you add a control to the form at runtime.
|
||||
THIS.InitialResize = .T.
|
||||
DIMENSION THIS.aControlStats[1,5]
|
||||
THIS.InitialFormHeight = THISFORM.Height
|
||||
THIS.InitialFormWidth = THISFORM.Width
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROTECTED PROCEDURE setposition
|
||||
LPARAMETERS oControl, nPos
|
||||
oControl.Top = THISFORM.Height * THIS.aControlStats[nPos,1]
|
||||
oControl.Left = THISFORM.Width * THIS.aControlStats[nPos,2]
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROTECTED PROCEDURE setsize
|
||||
LPARAMETERS oControl, nPos
|
||||
oControl.Width = THISFORM.Width * THIS.aControlStats[nPos,4]
|
||||
IF !oControl.Baseclass $ "Textbox Spinner"
|
||||
oControl.Height = THISFORM.Height * THIS.aControlStats[nPos,3]
|
||||
ENDIF
|
||||
|
||||
|
||||
ENDPROC
|
||||
|
||||
ENDDEFINE
|
||||
|
||||
DEFINE CLASS resizable_class AS custom
|
||||
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||
|
||||
*<DefinedPropArrayMethod>
|
||||
*m: addtoarray
|
||||
*m: adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects.
|
||||
*m: loopthroughcontrols
|
||||
*m: reset && Resets the Timer control so that it starts counting from 0.
|
||||
*m: setposition
|
||||
*m: setsize
|
||||
*p: initialformheight
|
||||
*p: initialformwidth
|
||||
*p: initialresize && Is this the first time the controls are being adjusted?
|
||||
*p: repositionlist
|
||||
*p: resizelist
|
||||
*a: acontrolstats[1,5]
|
||||
*</DefinedPropArrayMethod>
|
||||
|
||||
PROTECTED acontrolstats,initialformheight,initialformwidth,initialresize
|
||||
*<PropValue>
|
||||
Height = 19
|
||||
initialformheight = 0
|
||||
initialformwidth = 0
|
||||
initialresize = .T.
|
||||
Name = "resizable"
|
||||
repositionlist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner
|
||||
resizelist = Commandbutton Combobox Checkbox Listbox Form Grid Textbox Label Shape Editbox Olecontrol Pageframe Image Spinner
|
||||
Width = 27
|
||||
*</PropValue>
|
||||
|
||||
PROTECTED PROCEDURE addtoarray
|
||||
LPARAMETERS oControl
|
||||
nLen = ALEN(THIS.aControlStats,1)
|
||||
THIS.aControlStats[nLen,1] = oControl.Top / THIS.InitialFormHeight
|
||||
THIS.aControlStats[nLen,2] = oControl.Left / THIS.InitialFormWidth
|
||||
THIS.aControlStats[nLen,3] = oControl.Height / THIS.InitialFormHeight
|
||||
THIS.aControlStats[nLen,4] = oControl.Width / THIS.InitialFormWidth
|
||||
THIS.aControlStats[nLen,5] = IIF(TYPE("oControl.FontSize") = 'U', 0, oControl.FontSize)
|
||||
DIMENSION THIS.aControlStats[nLen+1, 5]
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE adjustcontrols && call from resize event of a form to adjust the placement and size of contained objects.
|
||||
IF THIS.InitialResize
|
||||
THIS.LoopThroughControls("INITIALIZE_AND_ADJUST")
|
||||
THIS.InitialResize = .F.
|
||||
ELSE
|
||||
THIS.LoopThroughControls("ADJUST")
|
||||
ENDIF
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE Init
|
||||
THIS.InitialFormHeight = THISFORM.Height
|
||||
THIS.InitialFormWidth = THISFORM.Width
|
||||
ENDPROC
|
||||
|
||||
PROTECTED PROCEDURE loopthroughcontrols
|
||||
LPARAMETERS cTask
|
||||
* Valid parameters for cTask are 'Initialize_And_Adjust' and 'Adjust'
|
||||
cTask = UPPER(cTask)
|
||||
|
||||
nOldDecimal = SET("DECIMAL")
|
||||
SET DECIMAL TO 18
|
||||
|
||||
nPos = 0
|
||||
THISFORM.LockScreen = .T.
|
||||
FOR m.i = 1 TO THISFORM.ControlCount
|
||||
oControl = THISFORM.Controls[m.i]
|
||||
nPos = nPos + 1
|
||||
If cTask = 'INITIALIZE_AND_ADJUST'
|
||||
THIS.AddToArray(oControl)
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.ResizeList
|
||||
THIS.SetSize(oControl, nPos)
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.RepositionList
|
||||
THIS.SetPosition(oControl, nPos)
|
||||
ENDIF
|
||||
|
||||
*A pageframe can contain only pages
|
||||
IF THISFORM.Controls[m.i].Baseclass$"Pageframe"
|
||||
*Loop through each page of the pageframe
|
||||
FOR m.j = 1 TO THISFORM.Controls[m.i].PageCount
|
||||
WITH THISFORM.Controls[m.i].pages[m.j]
|
||||
*loop through all the controls on the page
|
||||
FOR m.k = 1 TO .ControlCount
|
||||
nPos = nPos + 1
|
||||
IF cTask = 'INITIALIZE_AND_ADJUST'
|
||||
THIS.AddToArray(.Controls[m.k])
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.ResizeList
|
||||
THIS.SetSize(oControl, nPos)
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.RepositionList
|
||||
THIS.SetPosition(oControl, nPos)
|
||||
ENDIF
|
||||
ENDFOR
|
||||
ENDWITH
|
||||
ENDFOR
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
THISFORM.LockScreen = .F.
|
||||
SET DECIMAL TO nOldDecimal
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE reset && Resets the Timer control so that it starts counting from 0.
|
||||
* Call the reset method when you add a control to the form at runtime.
|
||||
THIS.InitialResize = .T.
|
||||
DIMENSION THIS.aControlStats[1,5]
|
||||
THIS.InitialFormHeight = THISFORM.Height
|
||||
THIS.InitialFormWidth = THISFORM.Width
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROTECTED PROCEDURE setposition
|
||||
LPARAMETERS oControl, nPos
|
||||
oControl.Top = THISFORM.Height * THIS.aControlStats[nPos,1]
|
||||
oControl.Left = THISFORM.Width * THIS.aControlStats[nPos,2]
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROTECTED PROCEDURE setsize
|
||||
LPARAMETERS oControl, nPos
|
||||
oControl.Width = THISFORM.Width * THIS.aControlStats[nPos,4]
|
||||
IF !oControl.Baseclass $ "Textbox Spinner"
|
||||
oControl.Height = THISFORM.Height * THIS.aControlStats[nPos,3]
|
||||
ENDIF
|
||||
|
||||
|
||||
ENDPROC
|
||||
|
||||
ENDDEFINE
|
||||
|
||||
DEFINE CLASS resizable_name AS resizable_class OF "solution.vcx"
|
||||
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||
|
||||
#INCLUDE "c:\program files\microsoft visual foxpro 8\foxpro.h"
|
||||
*<PropValue>
|
||||
Name = "resizable_name"
|
||||
*</PropValue>
|
||||
|
||||
PROCEDURE loopthroughcontrols
|
||||
LPARAMETERS cTask
|
||||
* Valid parameters for cTask are 'Initialize_And_Adjust' and 'Adjust'
|
||||
cTask = UPPER(cTask)
|
||||
|
||||
nOldDecimal = SET("DECIMAL")
|
||||
SET DECIMAL TO 18
|
||||
|
||||
nPos = 0
|
||||
THISFORM.LockScreen = .T.
|
||||
FOR m.i = 1 TO THISFORM.ControlCount
|
||||
oControl = THISFORM.Controls[m.i]
|
||||
nPos = nPos + 1
|
||||
If cTask = 'INITIALIZE_AND_ADJUST'
|
||||
THIS.AddToArray(oControl)
|
||||
ENDIF
|
||||
IF oControl.Name$THIS.ResizeList
|
||||
THIS.SetSize(oControl, nPos)
|
||||
ENDIF
|
||||
IF oControl.Name$THIS.RepositionList
|
||||
THIS.SetPosition(oControl, nPos)
|
||||
ENDIF
|
||||
|
||||
*A pageframe can contain only pages
|
||||
IF THISFORM.Controls[m.i].Baseclass$"Pageframe"
|
||||
*Loop through each page of the pageframe
|
||||
FOR m.j = 1 TO THISFORM.Controls[m.i].PageCount
|
||||
WITH THISFORM.Controls[m.i].pages[m.j]
|
||||
*loop through all the controls on the page
|
||||
FOR m.k = 1 TO .ControlCount
|
||||
nPos = nPos + 1
|
||||
IF cTask = 'INITIALIZE_AND_ADJUST'
|
||||
THIS.AddToArray(.Controls[m.k])
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.ResizeList
|
||||
THIS.SetSize(oControl, nPos)
|
||||
ENDIF
|
||||
IF oControl.Class$THIS.RepositionList
|
||||
THIS.SetPosition(oControl, nPos)
|
||||
ENDIF
|
||||
ENDFOR
|
||||
ENDWITH
|
||||
ENDFOR
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
THISFORM.LockScreen = .F.
|
||||
SET DECIMAL TO nOldDecimal
|
||||
ENDPROC
|
||||
|
||||
ENDDEFINE
|
||||
|
||||
DEFINE CLASS resizer AS control
|
||||
*< CLASSDATA: Baseclass="control" Timestamp="" Scale="Pixels" Uniqueid="" />
|
||||
|
||||
*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder
|
||||
*< OBJECTDATA: ObjPath="Label1" UniqueID="" Timestamp="" />
|
||||
|
||||
*<DefinedPropArrayMethod>
|
||||
*m: onresize
|
||||
*p: nlastheight
|
||||
*p: nlastwidth
|
||||
*</DefinedPropArrayMethod>
|
||||
|
||||
*<PropValue>
|
||||
BackStyle = 0
|
||||
BorderWidth = 0
|
||||
Comment = "*:OnResize=RB"
|
||||
Height = 14
|
||||
Name = "resizer"
|
||||
nlastheight = 0
|
||||
nlastwidth = 0
|
||||
Width = 14
|
||||
*</PropValue>
|
||||
|
||||
ADD OBJECT 'Label1' AS label WITH ;
|
||||
AutoSize = .T., ;
|
||||
BackStyle = 0, ;
|
||||
Caption = "o", ;
|
||||
FontName = "Marlett", ;
|
||||
Height = 14, ;
|
||||
Left = 0, ;
|
||||
Name = "Label1", ;
|
||||
Top = 0, ;
|
||||
Width = 14
|
||||
*< END OBJECT: BaseClass="label" />
|
||||
|
||||
PROCEDURE Init
|
||||
*
|
||||
* Save the original form size
|
||||
*
|
||||
THIS.nLastHeight = ThisForm.Height
|
||||
THIS.nLastWidth = ThisForm.Width
|
||||
|
||||
IF ThisForm.MinHeight = -1
|
||||
*
|
||||
* Make the design height the minimum if not otherwise specified
|
||||
*
|
||||
ThisForm.MinHeight = ThisForm.Height
|
||||
ENDIF
|
||||
|
||||
IF ThisForm.MinWidth = -1
|
||||
*
|
||||
* Make the design width the minimum if not otherwise specified
|
||||
*
|
||||
ThisForm.MinWidth = ThisForm.Width
|
||||
ENDIF
|
||||
|
||||
*
|
||||
* Move this control to the right bottom of the form
|
||||
*
|
||||
THIS.Top = ThisForm.Height - THIS.Height + 2
|
||||
THIS.Left = ThisForm.Width - This.Width + 2
|
||||
|
||||
*
|
||||
* Make sure the border style is resizable
|
||||
*
|
||||
ThisForm.BorderStyle = 3
|
||||
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE onresize
|
||||
*
|
||||
* Call this method from the Form.Resize event
|
||||
*
|
||||
LOCAL ARRAY laObjects[1]
|
||||
LOCAL lnCount,lnI, loObject, lnDeltaHeight, lnDeltaWidth
|
||||
LOCAL lcOnResize, lcHeight, lcWidth, lnAtPos
|
||||
|
||||
*
|
||||
* Lock the screen
|
||||
*
|
||||
ThisForm.LockScreen = .T.
|
||||
|
||||
*
|
||||
* Calculate the change in height since the last resize
|
||||
*
|
||||
lnDeltaHeight = ThisForm.Height - THIS.nLastHeight
|
||||
lnDeltaWidth = ThisForm.Width - THIS.nLastWidth
|
||||
|
||||
*
|
||||
* Build an array of objects
|
||||
*
|
||||
lnCount = Obj2Arr(@laObjects, ThisForm)
|
||||
|
||||
FOR lnI = 1 TO lnCount
|
||||
*
|
||||
* Get the object
|
||||
*
|
||||
loObject = laObjects[lnI]
|
||||
|
||||
IF TYPE('loObject.Comment') <> 'C'
|
||||
*
|
||||
* No comment property, skip control
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
lnAtPos = ATCC('*:OnResize=', loObject.Comment)
|
||||
IF lnAtPos = 0
|
||||
*
|
||||
* No On resize specified, skip control
|
||||
*
|
||||
LOOP
|
||||
ENDIF
|
||||
|
||||
*
|
||||
* Determine the actions to be preformed
|
||||
*
|
||||
lcOnResize = UPPER(PADR(SUBSTR(loObject.Comment, lnAtPos + 11), 2))
|
||||
lcHeight = RIGHT(lcOnResize, 1)
|
||||
lcWidth = LEFT(lcOnResize, 1)
|
||||
|
||||
*
|
||||
* Chanhe the Height/Top of needed
|
||||
DO CASE
|
||||
CASE lcHeight = 'C'
|
||||
*
|
||||
* Center verticaly
|
||||
*
|
||||
loObject.Top = loObject.Top + ROUND(lnDeltaHeight / 2, 0)
|
||||
|
||||
CASE lcHeight = 'B'
|
||||
*
|
||||
* Align with bottom
|
||||
*
|
||||
loObject.Top = loObject.Top + lnDeltaHeight
|
||||
|
||||
CASE lcHeight = 'S'
|
||||
*
|
||||
* Resize object vertically
|
||||
*
|
||||
loObject.Height = loObject.Height + lnDeltaHeight
|
||||
ENDCASE
|
||||
|
||||
DO CASE
|
||||
CASE lcWidth = 'C'
|
||||
*
|
||||
* Center horizontally
|
||||
*
|
||||
loObject.Left = loObject.Left + ROUND(lnDeltaWidth / 2, 0)
|
||||
|
||||
CASE lcWidth = 'R'
|
||||
*
|
||||
* Align to right site
|
||||
*
|
||||
loObject.Left = loObject.Left + lnDeltaWidth
|
||||
|
||||
CASE lcWidth = 'S'
|
||||
*
|
||||
* Size object horizontally
|
||||
*
|
||||
loObject.Width = loObject.Width + lnDeltaWidth
|
||||
ENDCASE
|
||||
ENDFOR
|
||||
|
||||
*
|
||||
* Remember the current form size
|
||||
*
|
||||
THIS.nLastHeight = ThisForm.Height
|
||||
THIS.nLastWidth = ThisForm.Width
|
||||
|
||||
*
|
||||
* Unlock the form to show changes
|
||||
*
|
||||
ThisForm.LockScreen = .F.
|
||||
|
||||
ENDPROC
|
||||
|
||||
ENDDEFINE
|
||||
Reference in New Issue
Block a user