ScreenLeft プロパティ
ScreenLeftは画面の左からの距離を設定します。
このコンポーネントの画面の左側からの距離を設定するのに、ScreenLeftプロパティを使います。
ScreenLeftプロパティは現在の画面サイズに基づいてピクセルで計算されます。
これは複数のフォームを利用するアプリケーションでフォームの位置をコントロールする時などによく利用されます。
このプロパティがどのように使用されるかを見るには、次のコードを2つのフォームにコピー・貼り付けてください。
フォーム1:
FUNCTION OPTIONS(*DIRECT)
BEGIN_COM FRAMESTYLE(Dialog) HEIGHT(89) LEFT(436) TOP(218) WIDTH(257)
DEFINE_COM CLASS(#PRIM_PHBN) NAME(#BTN_CLOSE) BUTTONDEFAULT(True) CAPTION('Close') DISPLAYPOSITION(1) HEIGHT(32) LEFT(40) PARENT(#COM_OWNER) TABPOSITION(1) TOP(16) WIDTH(177)
EVTROUTINE HANDLING(#com_owner.Initialize)
SET COM(#com_owner) CAPTION(*component_desc)
ENDROUTINE
EVTROUTINE HANDLING(#BTN_CLOSE.Click)
INVOKE METHOD(#com_owner.CloseForm)
ENDROUTINE
END_COM
フォーム2:
FUNCTION OPTIONS(*DIRECT)
BEGIN_COM CAPTION('Screen Positioning Example') HEIGHT(293) LEFT(361) TOP(226) WIDTH(497)
DEFINE_COM CLASS(#FORM1) NAME(#POSTEST)
DEFINE_COM CLASS(#PRIM_PHBN) NAME(#PHBN_1) CAPTION('Show Form Top Left') DISPLAYPOSITION(3) LEFT(112) PARENT(#COM_OWNER) TABPOSITION(3) TOP(88) WIDTH(137)
DEFINE_COM CLASS(#PRIM_PHBN) NAME(#PHBN_2) CAPTION('Show Form Top Right') DISPLAYPOSITION(4) LEFT(256) PARENT(#COM_OWNER) TABPOSITION(4) TOP(88) WIDTH(128)
DEFINE_COM CLASS(#PRIM_PHBN) NAME(#PHBN_3) CAPTION('Show Form Bottom Left') DISPLAYPOSITION(2) LEFT(112) PARENT(#COM_OWNER) TABPOSITION(2) TOP(120) WIDTH(137)
DEFINE_COM CLASS(#PRIM_PHBN) NAME(#PHBN_4) CAPTION('Show Form Bottom Right') DISPLAYPOSITION(1) LEFT(256) PARENT(#COM_OWNER) TABPOSITION(1) TOP(120) WIDTH(128)
EVTROUTINE HANDLING(#PHBN_1.Click)
DEFINE FIELD(#TOP) TYPE(*DEC) LENGTH(7) DECIMALS(0)
DEFINE FIELD(#LEFT) TYPE(*DEC) LENGTH(7) DECIMALS(0)
CHANGE FIELD(#TOP) TO('#PHBN_1.screentop - #POSTEST.HEIGHT')
CHANGE FIELD(#LEFT) TO('#PHBN_1.screenleft - #POSTEST.WIDTH')
SET COM(#POSTEST) TOP(#TOP) LEFT(#LEFT)
INVOKE METHOD(#POSTEST.showform)
ENDROUTINE
EVTROUTINE HANDLING(#PHBN_2.Click)
CHANGE FIELD(#TOP) TO('#PHBN_2.screentop - #POSTEST.HEIGHT')
CHANGE FIELD(#LEFT) TO('#PHBN_2.screenleft + #PHBN_2.width')
SET COM(#POSTEST) TOP(#TOP) LEFT(#LEFT)
INVOKE METHOD(#POSTEST.showform)
ENDROUTINE
EVTROUTINE HANDLING(#PHBN_3.Click)
CHANGE FIELD(#TOP) TO('#PHBN_3.screentop + #PHBN_3.HEIGHT')
CHANGE FIELD(#LEFT) TO('#PHBN_3.screenleft - #POSTEST.width')
SET COM(#POSTEST) TOP(#TOP) LEFT(#LEFT)
INVOKE METHOD(#POSTEST.showform)
ENDROUTINE
EVTROUTINE HANDLING(#PHBN_4.Click)
CHANGE FIELD(#TOP) TO('#PHBN_4.screentop + #PHBN_4.HEIGHT')
CHANGE FIELD(#LEFT) TO('#PHBN_4.screenleft + #PHBN_4.width')
SET COM(#POSTEST) TOP(#TOP) LEFT(#LEFT)
INVOKE METHOD(#POSTEST.showform)
ENDROUTINE
EVTROUTINE HANDLING(#com_owner.closing)
INVOKE METHOD(#POSTEST.closeform)
ENDROUTINE
END_COM