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