TabChanging イベント

LANSA

TabChanging イベント

TabChangingイベントは別のタブ・シートが表示される寸前に起動されます。

このイベントを使ってユーザーがタブをクリックした時に何が起きるかを決定することができます。 CanChangePageパラメータを使用して、タブの表示を停止することができます。 ただし、このイベントを使用する時はユーザーが予期しないタブ動作にならないよう注意してください。

次のコードをフォームにコピーして、コンパイルするとTabChangingイベントをどのように使用されるか確認できます。

BEGIN_COM CAPTION('TabChanging Event') HEIGHT(298) LEFT(372) TOP(130) WIDTH(334) 

DEFINE_COM CLASS(#PRIM_TAB) NAME(#TAB_1) DISPLAYPOSITION(1) HEIGHT(142) LEFT(16) PARENT(#COM_OWNER) TABPOSITION(1) TOP(104) WIDTH(273)
DEFINE_COM CLASS(#PRIM_TBSH) NAME(#TBSH_1) CAPTION('Tab 1') DISPLAYPOSITION(1) HEIGHT(116) LEFT(4) PARENT(#TAB_1) TABPOSITION(1) TABSTOP(False) TOP(22) WIDTH(265)
DEFINE_COM CLASS(#PRIM_TBSH) NAME(#TBSH_2) CAPTION('Tab 2') DISPLAYPOSITION(2) HEIGHT(116) LEFT(4) PARENT(#TAB_1) TABPOSITION(2) TABSTOP(False) TOP(22) WIDTH(265)
DEFINE_COM CLASS(#PRIM_CKBX) NAME(#CKBX_1) CAPTION('Allow user to change tabs when Tab 2 is displayed') DISPLAYPOSITION(2) LEFT(16) PARENT(#COM_OWNER) TABPOSITION(2) TOP(72) WIDTH(361)
DEFINE_COM CLASS(#PRIM_TBSH) NAME(#TBSH_3) CAPTION('Tab 3') DISPLAYPOSITION(3) HEIGHT(116) LEFT(4) PARENT(#TAB_1) TABPOSITION(3) TABSTOP(False) TOP(22) WIDTH(265)
DEFINE_COM CLASS(#PRIM_EDIT) NAME(#EDIT_1) DISPLAYPOSITION(3) HEIGHT(21) LEFT(168) PARENT(#COM_OWNER) TABPOSITION(3) TOP(16)
DEFINE_COM CLASS(#PRIM_EDIT) NAME(#EDIT_2) DISPLAYPOSITION(4) HEIGHT(21) LEFT(168) PARENT(#COM_OWNER) TABPOSITION(4) TOP(40)
DEFINE_COM CLASS(#PRIM_LABL) NAME(#LABL_1) CAPTION('OpenPage parameter') DISPLAYPOSITION(5) HEIGHT(21) LEFT(16) PARENT(#COM_OWNER) TABPOSITION(5) TABSTOP(False) TOP(22) WIDTH(139)
DEFINE_COM CLASS(#PRIM_LABL) NAME(#LABL_2) CAPTION('CanChangePage parameter') DISPLAYPOSITION(6) HEIGHT(21) LEFT(16) PARENT(#COM_OWNER) TABPOSITION(6) TABSTOP(False) TOP(42) WIDTH(139)
* note that the parameter names cannot be repository fields or fields defined in the component;
EVTROUTINE HANDLING(#TAB_1.TabChanging) OpenPage(#TheTab) CanChangePage(#CanChange)
if cond('#TheTab.name *eq #tbsh_2.name')
if cond('#ckbx_1.ButtonState *eq Unchecked')
change #std_bool 'False'
else
change #std_bool 'True'
endif
set #CanChange value(#std_bool)
endif
set com(#edit_1) value(#TheTab.name)
set com(#edit_2) value(#CanChange);
ENDROUTINE
end_com

 

OpenPage パラメータ

CanChangePage パラメータ