|目次|前ページ|次ページ| ───────────────────────────────────── 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 |目次|前ページ|次ページ|