FormStyle プロパティ

LANSA

FormStyle プロパティ

FormStyleはフォームのスタイルを指定します。

このプロパティで実行時のフォームの動作を指定します。

Normal

フォームは標準フォームです。

Owned

このフォームが他のフォームのメンバー・フォームの時、オーナー・フォームが閉じられると閉じられます。

StayOnTop

ウィンドウがフォーム・オーナーの上に表示されます。 これは通常アプリケーションによって表示される最初のフォームです。

 

フォームのスタイルをNormalChild、OwnedChild、StayOnTopChildに設定すると、親のフォームが非表示や最小化されると、自動的にこのフォームが非表示、最小化され、親が閉じられると、自動的に閉じられます。 OwnedChildフォームはオーナー・フォームの上に残り、タスクバー上には表示されません。

NormalChildとOwnedChildフォームの違いを見るには、次のソースをコピーして、FORMOWNEXという名前のフォームに貼り付け、コンパイルして実行してください。

FUNCTION options(*DIRECT) 

BEGIN_COM role(*EXTENDS #PRIM_FORM) HEIGHT(150) LEFT(296) TOP(111) WIDTH(253)
DEFINE_COM class(#PRIM_PHBN) name(#PHBN_1) CAPTION('Show Normal') DISPLAYPOSITION(1) LEFT(8) PARENT(#COM_OWNER) TABPOSITION(1) TOP(8)
DEFINE_COM class(#PRIM_PHBN) name(#PHBN_2) CAPTION('Show Owned') DISPLAYPOSITION(2) LEFT(8) PARENT(#COM_OWNER) TABPOSITION(2) TOP(48)
DEFINE_COM class(#PRIM_CKBX) name(#CKBX_1) CAPTION('Fail Close Query') DISPLAYPOSITION(3) LEFT(8) PARENT(#COM_OWNER) TABPOSITION(3) TOP(88)
DEFINE_COM class(#FORMOWNEX) name(#NORMALFORM) FORMSTYLE(NormalChild)
DEFINE_COM class(#FORMOWNEX) name(#OWNEDFORM) FORMSTYLE(OwnedChild)
EVTROUTINE handling(#PHBN_1.Click)
IF_REF com(#Com_Owner.FormOwner) is(*Null)
CHANGE field(#STD_NUM) to('#Com_Owner.Left + #Com_Owner.Width + 10')
ELSE
CHANGE field(#STD_NUM) to('#Com_Owner.Left + 10')
ENDIF
SET com(#NormalForm) FORMOWNER(#Com_Owner) LEFT(#Std_Num)
INVOKE method(#NormalForm.ShowForm)
ENDROUTINE
EVTROUTINE handling(#PHBN_2.Click)
IF_REF com(#Com_Owner.FormOwner) is(*Null)
CHANGE field(#STD_NUM) to('#Com_Owner.Top + #Com_Owner.Height + 10')
SET com(#OwnedForm) TOP(#Std_Num)
CHANGE field(#STD_NUM) to('#Com_Owner.Left + #Com_Owner.Width + 10')
ELSE
CHANGE field(#STD_NUM) to('#Com_Owner.Left + 10')
ENDIF
SET com(#OwnedForm) FORMOWNER(#Com_Owner) LEFT(#Std_Num)
INVOKE method(#OwnedForm.ShowForm)
ENDROUTINE
EVTROUTINE handling(#COM_OWNER.CloseQuery) options(*NOCLEARMESSAGES *NOCLEARERRORS) CONTINUE(#Option)
IF cond('#CKBX_1.ButtonState = Checked')
SET com(#Option) VALUE(False)
ENDIF
ENDROUTINE
END_COM