|目次前ページ次ページ|
─────────────────────────────────────
23.フォーム(TForm)の使い方 
─────────────────────────────────────
 [1]フォーム(TForm)オブジェクトの作成
      →共通ルーチン【ZVCMFRM】【ZVCMWND】 
  @予期しない値がセットされていないようにローカル変数を削除します[D KILL^ZVCMSUB] 
  Aイベントマスクを設定します、例では[CLSEVENT^ZVCMFRM]ですが->適切に設定 
  Brectパラメタを作成します。[D SETRECT^ZVCMFRM] 
     (x,y,w,h):位置サイズ情報(行桁サイズモードに設定後) 
     (color):コントロールの色番号(Colorプロパティ) 
     -->指定なしの場合デフォルトの色 
     (font):コントロールのフオント番号(Fontプロパティ) 
     -->指定なしの場合(null)[font=501]のフオントをセット[SETRECTにおいて] 
     -->0:指定の場合デフォルトのフオント 
     (keycode):キーボードイベントを発生させる終了キーコードのセット 
     -->0を指定した場合0番のキーセットを指定した意味 
     ※イベントマスク設定でキーボードイベントを有効に設定しないとキーボードイベントは発生しません 
     (その他のプロパティ):(zorder,TabOrder,TabStop)...は必要があれば設定します。 
     ※[D SETRECT^ZVCMFRM] -> rectstrが作成される
  Cキャプションに表示する文字列をeditパラメタに設定します。[editstr] 
     ※[S editstr="キャプションに表示する文字列"]
   D[D CREATE^ZVCMFRM]で使用されるパラメタを設定する 
     ※[S cid=(1〜1023の一意の番号)]
     ※[S form=(1〜1023の親フォームのフォーム番号)]
     form  -> このコントロールが置かれているフォーム番号 通常0以外を指定 
           0:vcom画面にフォームを貼付けます  
              vcom画面上にフォームを作成したい時は[9]form=0,[7]parent=0と指定します 
           1->1023:フォーム番号(通常のフォーム) 
     ※[S parent=(1〜1023の親コントロールのcid番号)]
     ※[S group=(0〜32767のグループ番号)]
     ※[S opt=ボーダスタイル(BorderStyle)] 
           0: 標準(サイズ変更可能)Sizeable[06-jul-2000]修正 
           1: (サイズ変更可能)ToolWindow   
           2: (サイズ変更可能)SizeToolWin   
           3: (サイズ変更不可)Single   
           4: キャプション無し(サイズ変更不可)None   
     ※[S pm1=(Position)] 
           1:スクリーンの中央に表示されます 
           2:スクリーンの中央に表示されます 
           0:[5]rectパラメタの[編集領域番号の内容] の位置サイズ(xywh) 
           ※pm1=0時位置サイズの誤りを修正[08-apr-2003] 
           ※pm1=0,[9]form=0,[7]parent=0の場合の表示位置の誤りを修正[2007-10-6] 
     ※[S pm2=(FormStyle)] 
           0:フォームはMDIの親でも子でもない
           1:デスクトップの一番上に表示される
     ※[S pm3=(AutoSize)] 
           0:自動サイズ変更しない()[08-mar-2002] 
           1:コントロールの中身に合わせてWindow自動サイズする[08-mar-2002] 
     ※[S pm4=(AutoScroll) 
           0:スクロールバーを表示しない[08-mar-2002] 
           1:自動スクロール(必要な場合スクロールバーを表示)[08-mar-2002] 
     ※[S pm5=[x]印をクリックしてフォームを閉じる場合の動作] 
           0:フォームを隠す(引き続きアクセス出来る) 
           1:何もしない(フォームはそのまま) 
           2:フォームは最小化される 
     ※[D CREATE^ZVCMFRM]コントロールオブジェクトの作成
  E作成後キャプションに表示する文字列を変更する。
     ※[S cid=(1〜1023の一意の番号)]
     ※[S editstr="文字列"]
     ※[D CAPTION^ZVCMMFRM]エデットコントロールのテキストを変更する
  Fイベント応答メッセージからイベント情報を取得する
     ※イベント種別=通常フォームクローズイベントのみを処理します
     ※イベント応答メッセージを読み込む[S RESP=$$ReadMsg^ZVCMSUB(Rtail)
     ※読み込んだ(受信)イベント応答メッセージを分解する[D VCMRESP^ZVCMSUB]
     ※(Revent2):イベント種別
     ※(Rselcnt):0
     ※(Roption): ピクセルX ; ピクセルY ; テキストX ; テキストY
     ※(Rsub):キャプションの文字列 
     ※(Rkeycode):キーボードイベント時仮想キーコード
     ※(Rshift):シフト状態 0:無し 1:シフト 2:コントロール 4:<ALT>の組み合わせ 
─────────────────────────────────────
 [2]フォーム(オブジェクトのイベント
      →共通ルーチン【ZVCMEVENT】 
      →共通ルーチン【ZVCMEVENT7】応答イベントコード定数 
─────────────────────────────────────
◆ イベントマスクを設定(応答を可にする) 
 ※イベント設定変数を初期化→  D CLEAR^ZVCMEVENT 
─────────────────────────────────────
mask0= 2  : (1)マウス左クリックイベント応答(ビット1) 
 ※イベント設定変数を設定  →  D CLICK^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Click],[Revent1=EV1Click] 
─────────────────────────────────────
mask0= 4  : (2)マウス右クリック(ポップアップ)イベント応答(ビット2) 
 ※イベント設定変数を設定  →  D POPUP^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2RClick],[Revent1=EV1Popup] 
─────────────────────────────────────
mask0= 32 : (5)フォームクローズイベント応答可(ビット5) [※Action動作] 
 ※イベント設定変数を設定  →  D FORMCLOSE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2RClose],[Revent1=EV1close] 
─────────────────────────────────────
mask0= 8  : (3)キーボードイベント応答(ビット3)  
 ※イベント設定変数を設定  →  D KEYBORD^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Keybord],[Revent1=EV1Keybord] 
─────────────────────────────────────
mask1= 8  : (11)フォーカスを失う時応答(ビット3) 
 ※イベント設定変数を設定  →  D KILLFOCUS^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Exit],[Revent1=EV1Exit] 
─────────────────────────────────────
mask1= 16 : (12)フォーカスを得る時応答(ビット4) 
 ※イベント設定変数を設定  →  D SETFOCUS^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Enter],[Revent1=EV1Enter] 
─────────────────────────────────────
mask2= 1 : (16)マウス左押す応答可(ビット0)[Roptionを返す] 
 ※イベント設定変数を設定  →  D LEFTDOWN^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Down],[Revent1=EV1Other] 
─────────────────────────────────────
mask2= 2 : (17)マウス左離す応答可(ビット1)[Roptionを返す] 
 ※イベント設定変数を設定  →  D LEFTUP^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Up],[Revent1=EV1Other] 
─────────────────────────────────────
mask2= 64 : (22)マウス左ダブルクリック応答(ビット6) 
 ※イベント設定変数を設定  →  D LEFTDBL^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2DblClick],[Revent1=EV1DblClick] 
─────────────────────────────────────
mask2= 128 : (23)マウス右ダブルクリック応答(ビット7) 
 ※イベント設定変数を設定  →  D RIGHTDBL^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2RDblClick],[Revent1=EV1Other] 
─────────────────────────────────────
mask5= 2 : (41)サイズ変更された(ビット1) 
 ※イベント設定変数を設定  →  D SIZE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Size],[Revent1=EV1Other] 
─────────────────────────────────────
mask5= 4 : (42)再描画要求(Paint)(ビット2) 
 ※イベント設定変数を設定  →  D PAINT^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Paint],[Revent1=EV1Other] 
─────────────────────────────────────
mask5= 8 : (43)作成時(Create)(ビット3) 
 ※イベント設定変数を設定  →  D CREATE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Create],[Revent1=EV1Other] 
─────────────────────────────────────
mask5= 16 : (44)廃棄時(Destroy)(ビット4) 
 ※イベント設定変数を設定  →  D DESTROY^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Destroy],[Revent1=EV1Other] 
─────────────────────────────────────
mask5= 32 : (45)アクテイブ化(ビット5) 
 ※イベント設定変数を設定  →  D ACTIVATE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Activate],[Revent1=EV1Other] 
─────────────────────────────────────
mask5= 64 : (46)非アクテイブ化(ビット6) 
 ※イベント設定変数を設定  →  D DEACTIVATE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Deactivate],[Revent1=EV1Other] 
─────────────────────────────────────
mask6= 1 : (48)表示(ビット0) 
 ※イベント設定変数を設定  →  D SHOW^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Show],[Revent1=EV1Other] 
─────────────────────────────────────
mask6= 2 : (49)非表示(ビット1) 
 ※イベント設定変数を設定  →  D HIDE^ZVCMEVENT 
 ※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2Hide],[Revent1=EV1Other] 
─────────────────────────────────────
 ※イベントマスクを設定       →  D SETEVENT^ZVCMEVENT 
─────────────────────────────────────
 [3]フォーム(TForm)からメッセージボックス
      →共通ルーチン【ZVCMFRM】 
     ※[S cid=(1〜1023の一意の番号)]
     ※[S editstr=(メッセージ文字列)]
     ※[S rectstr=(タイトル文字列)]
     ※[S action=(メッセージボックスの形式)]
     0  メッセージボックスには[OK]プッシュボタンが含まれます。 
     1  メッセージボックスには[OK]プッシュボタンと 
       [キャンセル]プッシュボタンが含まれます。 
     2  メッセージボックスには[中止][再試行][無視] 
        の3つのプッシュボタンが含まれます。 
     3  メッセージボックスには[はい][いいえ] 
       [キャンセル]の3つのプッシュボタンが含まれます。 
     4  メッセージボックスには[はい][いいえ] 
        のプッシュボタンが含まれます。 
     5  メッセージボックスには[再試行]プッシュボタンと 
        [キャンセル]プッシュボタンが含まれます。 
     16 [STOP]アイコンがメッセージボックスに表示されます。 
     32 [疑問符]アイコンがメッセージボックスに表示されます。 
     48 [感嘆符]アイコンがメッセージボックスに表示されます。 
     64 円の中に小文字の「i」があるアイコンがメッセージ 
        ボックスに表示されます。 
     0  最初のボタンがデフォルトになります。 
     256 2番目のボタンがデフォルトになります。 
     512 3番目のボタンがデフォルトになります。 
     0  作業を継続する前にメッセージボックスに応答しなけれな 
   なりません。しかしユーザは、ほかのアプリケーション 
   に移動しそのウィンドウ内で作業をすることが出来ます。 
     4096 全てのアプリケーションはユーザがメッセージボックス 
          に応答するまで中断されます。 
     8192 0を指定したのとおなじ。 
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
     ビットORした数値を指定できます。 
     ※[D MSGBOX^ZVCMMFRM]メッセージボックス
     ※[OKCANCEL <- 結果
     1    [OK]ボタンが押されました。 
     2    [キャンセル]ボタンが押されました。 
     3    [中止]ボタンが押されました。 
     4    [再試行]ボタンが押されました。 
     5    [無視]ボタンが押されました。 
     6    [はい]ボタンが押されました。 
     7    [いいえ]ボタンが押されました。 
───────────────────────────────────
 [4]フォーム(TForm)からファイルを開くダイアログボックス
      →共通ルーチン【ZVCMWND】 
───────────────────────────────────
               23-1
     |目次前ページ次ページ