Возвращает позицию или размеры элемента управления или объекта относительно его формы.
|
OBJTOCLIENT(ObjectName, nPosition)
|
Параметры
- ObjectName
- Определяет имя элемента управления или объекта, для которого возвращена позиция на форме.
- nPosition
- Определяет, какое положение или размер элемента управления или объекта на форме возвращается. Следующая таблица перечисляет значения для nPosition и соответствующей позиции или размера для возвращения.
nPosition |
Позиция или измерение |
1 |
Top |
2 |
Left |
3 |
Width |
4 |
Height |
Возвращаемое значение
Замечания
Пример
Следующие пример использует OBJTOCLIENT( ) чтобы отобразить позиции и размеры двух чекбоксов относительно формы, в которой они помещены. Свойства Top , Left , Width , and Height также используются, чтобы отобразить позиции и размеры этих двух чебоксов относительно страничного блока, в котором они помещены.
Кнопка и страничный фрейм помещены в форму. Свойство PageCount используется, чтобы определить количество страниц на страничном блоке. Свойство Вкладки установлено в истину (.T). чтобы задать, что страничный фрейм имеет вкладки для каждой страницы. Чекбоксы помещены в каждую страницу в разные позиции.
Когда переключается чекбокс, выполняется процедура Click для чекбокса. Если флажок чекбокса установлен, свойства Top , Left , Width , and Height используются, чтобы отобразить позиции и размеры чекбокса относительно страничного фрейма, и OBJTOCLIENT( ) используется, чтобы отобразить позиции и размеры чекбокса относительно формы. Если флажок чекбокс сброшен, главное окно Microsoft Visual FoxPro очищается.
|
Скопировать код |
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
|
См. Также