You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

[ |../../index.htm#lansa/l4wdev06_0940.htm]
現在地:

2.16.1.1 祖先のフォームの作成

フォークがお互いに継承できる方法を見るために、他のフォームの祖先として使用されるフォームを作成します。祖先のフォームには、ファイルメニューとステータス・バーがあります。

You can copy the Source for the Ancestor Form and paste it to a form and compile it.この例では、祖先のフォームをEOEXAM01とします。
EOEXAM01を実行すると、3つのオプションがあるファイルメニューと、現在のユーザー、日付、および時間が表示されるステータス・バーが表示されます。

フォームには、5秒ごとに時間を更新するタイマーが含まれます。
メッセージ・ボックスを表示するファイルメニュー・オプションのイベント・ルーチンも含まれます。例えば終了オプションが選択されると、以下のメッセージ・ボックスでアクションを確認します。

祖先のフォームのソース
祖先のフォームのソース

                                                                                                      • *                                                   * COMPONENT:STD_FORM                              *                                                   *************************************************** FUNCTION OPTIONS(*DIRECT) BEGIN_COM LEFT(340) MENUBAR(#MBAR_1) TOP(132) VISUALSTYLE(#VS_NORM) DEFINE_COM CLASS(#PRIM_STBR) NAME(#STBR_1) DISPLAYPOSITION(1) HEIGHT(24) LEFT(0) MESSAGEPOSITION(1) PARENT(#COM_OWNER) TABPOSITION(1) TABSTOP(False) TOP(270) WIDTH(492) DEFINE_COM CLASS(#USER.Visual) NAME(#USER) DISPLAYPOSITION(1) HEIGHT(18) LEFT(285) MARGINLEFT(0) PARENT(#STBR_1) READONLY(True) TABPOSITION(1) TABSTOP(False) TOP(4) WIDTH(71) DEFINE_COM CLASS(#DATE.Visual) NAME(#DATE) DISPLAYPOSITION(2) HEIGHT(18) LEFT(358) MARGINLEFT(0) PARENT(#STBR_1) READONLY(True) TABPOSITION(2) TABSTOP(False) TOP(4) WIDTH(61) DEFINE_COM CLASS(#TIME.Visual) NAME(#TIME) DISPLAYPOSITION(3) HEIGHT(18) LEFT(421) MARGINLEFT(0) PARENT(#STBR_1) READONLY(True) TABPOSITION(3) TABSTOP(False) TOP(4) WIDTH(54) DEFINE_COM CLASS(#PRIM_TIMR) NAME(#TIMER) INTERVAL(5000) DEFINE_COM CLASS(#PRIM_MBAR) NAME(#MBAR_1) PARENT(#COM_OWNER) DEFINE_COM CLASS(#PRIM_MITM) NAME(#MITM_1) CAPTION('File') DISPLAYPOSITION(1) PARENT(#MBAR_1) DEFINE_COM CLASS(#PRIM_SMNU) NAME(#SMNU_1) PARENT(#MITM_1) DEFINE_COM CLASS(#PRIM_MITM) NAME(#MITM_FILE_OPEN) CAPTION('Open') DISPLAYPOSITION(1) PARENT(#SMNU_1) DEFINE_COM CLASS(#PRIM_MITM) NAME(#MITM_FILE_CLOSE) CAPTION('Close') DISPLAYPOSITION(2) PARENT(#SMNU_1) DEFINE_COM CLASS(#PRIM_MITM) NAME(#MITM_EXIT) CAPTION('Exit') DISPLAYPOSITION(3) PARENT(#SMNU_1)   * Initialize the details on th status bar   EVTROUTINE HANDLING(#Com_Owner.Initialize) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS) Change #User *User Change #Date *Date Change #Time *Time ENDROUTINE   * Update the time on the status bar every 5 seconds (5000 milliseconds)   EVTROUTINE HANDLING(#TIMER.Tick) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS) Change #Time *Time ENDROUTINE   * Handle Exit request by attempting to close the form   EVTROUTINE HANDLING(#MITM_EXIT.Click) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS) Invoke #Com_Self.CloseForm ENDROUTINE   * Handle file open menu item by invoking the "HandleFileOpen" method   EVTROUTINE HANDLING(#MITM_File_Open.Click) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS) Invoke #Com_Self.HandleFileOpen ENDROUTINE   * Handle file close menu item by invoking the "HandleFileClose" method   EVTROUTINE HANDLING(#MITM_File_Close.Click) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS) Invoke #Com_Self.HandleFileClose ENDROUTINE   * Handle a request to close the form by getting a confirmation   EVTROUTINE HANDLING(#Com_Owner.Closing) OPTIONS(*NOCLEARMESSAGES *NOCLEARERRORS) Action(#AfterCloseAction) Use Message_Box_Show (okCancel Ok Info #Com_Self.Name 'Are you sure you want to close the form?')(#Std_Obj) If '#Std_Obj = Cancel' Set #AfterCloseAction Value(None) Endif ENDROUTINE   * Default method "HandleFileOpen".Typically this is redefined by a descendant    Mthroutine HandleFileOpen Use Message_Box_Show (ok Ok Info #Com_Owner.Name 'Ancestor HandleFileOpen method invoked') (#Std_Obj) Endroutine   * Default method "HandleFileClose".Typically this is redefined by a descendant   Mthroutine HandleFileClose Use Message_Box_Show (ok Ok Info #Com_Owner.Name 'Ancestor HandleFileClose method invoked') (#Std_Obj) Endroutine   END_COM 
                                                                                                         
                                                                                                        [ |../../index.htm#lansa/l4wdev06_0940.htm]
  • No labels