OBJTOCLIENT( ) 函数
返回一个控件或对象相对于表单的位置或尺寸。
OBJTOCLIENT(ObjectName, nPosition)
参数
ObjectName
指定控件或对象名称,返回其表单位置。
nPosition
指定返回对象或控件的哪一个表单位置或尺寸。下表列出了 nPosition 的值,以及返回的相应位置或尺寸。 nPosition 位置或尺寸
1
顶边(Top)
2
左边(Left)
3
宽度(Width)
4
高度(Height)
CLEAR
STORE _DBLCLICK TO gnDblClick && Save double-click value
STORE 0.05 TO _DBLCLICK && Make double-click unlikely
frmMyForm = CREATEOBJECT('Form') && Create a form
frmMyForm.Closable = .f. && Disable the window pop-up menu
frmMyForm.Move(150,10) && Move the form
frmMyForm.AddObject('cmbCommand1','cmdMyCmdBtn') && Add Command button
frmMyForm.AddObject('pgfPageFrame1','pgfMyPageFrame') && Add PageFrame
frmMyForm.pgfPageFrame1.Page1.AddObject('chkCheckBox1','chkMyCheckBox1')
frmMyForm.pgfPageFrame1.Page2.AddObject('chkCheckBox2','chkMyCheckBox2')
frmMyForm.cmbCommand1.Visible =.T. && "Quit" Command button visible
frmMyForm.pgfPageFrame1.Visible =.T. && PageFrame visible
frmMyForm.pgfPageFrame1.Page1.chkCheckBox1.Visible =.T.
frmMyForm.pgfPageFrame1.Page2.chkCheckBox2.Visible =.T.
frmMyForm.SHOW && Display the form
READ EVENTS && Start event processing
DEFINE CLASS cmdMyCmdBtn AS CommandButton && Create Command button
Caption = '\<Quit' && Caption on the Command button
Cancel = .T. && Default Cancel Command button (Esc)
Left = 125 && Command button column
Top = 210 && Command button row
Height = 25 && Command button height
PROCEDURE Click
CLEAR EVENTS && Stop event processing, close Form
CLEAR && Clear main Visual FoxPro window
STORE gnDblClick TO _DBLCLICK && Restore double-click value
ENDDEFINE
DEFINE CLASS pgfMyPageFrame AS PageFrame && Create PageFrame
Left = 10 && PageFrame column
Top = 10 && PageFrame row
Height = 175 && PageFrame height
Width = 350 && PageFrame height
PageCount = 2 && 2 Pages on the PageFrame
Tabs = .T. && Tabs visible
ENDDEFINE
DEFINE CLASS chkMyCheckBox1 AS CheckBox && Create first Check Box
Top = 0
Width = 200
Caption = 'Display Position'
PROCEDURE Click
DO CASE
CASE ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Value = 0
ACTIVATE SCREEN
CLEAR
CASE ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Value = 1
ACTIVATE SCREEN
CLEAR
? 'Positions relative'
? 'to PageFrame:'
?
? 'Top: '
?? ALLTRIM(STR;
(ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Top))
? 'Left: '
?? ALLTRIM(STR;
(ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Left))
? 'Width: '
?? ALLTRIM(STR;
(ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Width))
? 'Height: '
?? ALLTRIM(STR;
(ThisForm.pgfPageFrame1.Page1.chkCheckBox1.Height))
?
? 'Positions relative'
? 'to Form:'
?
? 'Top: '
?? ALLTRIM(STR(OBJTOCLIENT;
(ThisForm.pgfPageFrame1.Page1.chkCheckBox1,1)))
? 'Left: '
?? ALLTRIM(STR(OBJTOCLIENT;
(ThisForm.pgfPageFrame1.Page1.chkCheckBox1,2)))
? 'Width: '
?? ALLTRIM(STR(OBJTOCLIENT;
(ThisForm.pgfPageFrame1.Page1.chkCheckBox1,3)))
? 'Height: '
?? ALLTRIM(STR(OBJTOCLIENT(ThisForm.pgfPageFrame1.Page1.chkCheckBox1,4)))
ENDCASE
ENDDEFINE
DEFINE CLASS chkMyCheckBox2 AS CheckBox && Create second Check Box
Top = 30
Left = 175
Width = 200
Caption = 'Display Position'
PROCEDURE CLICK
DO CASE
CASE ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Value = 0
ACTIVATE SCREEN
CLEAR
CASE ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Value = 1
ACTIVATE SCREEN
CLEAR
? 'Positions relative'
? 'to PageFrame:'
?
? 'Top: '
?? ALLTRIM(STR(ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Top))
? 'Left: '
?? ALLTRIM(STR;
(ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Left))
? 'Width: '
?? ALLTRIM(STR;
(ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Width))
? 'Height: '
?? ALLTRIM(STR;
(ThisForm.pgfPageFrame1.Page2.chkCheckBox2.Height))
?
? 'Positions relative'
? 'to Form:'
?
? 'Top: '
?? ALLTRIM(STR(OBJTOCLIENT;
(ThisForm.pgfPageFrame1.Page2.chkCheckBox2,1)))
? 'Left: '
?? ALLTRIM(STR(OBJTOCLIENT;
(ThisForm.pgfPageFrame1.Page2.chkCheckBox2,2)))
? 'Width: '
?? ALLTRIM(STR(OBJTOCLIENT;
(ThisForm.pgfPageFrame1.Page2.chkCheckBox2,3)))
? 'Height: '
?? ALLTRIM(STR(OBJTOCLIENT;
(ThisForm.pgfPageFrame1.Page2.chkCheckBox2,4)))
ENDCASE
ENDDEFINE