|目次|前ページ|次ページ|
─────────────────────────────────────
39.マンスカレンダ(TManthCalender)の使い方
─────────────────────────────────────
[1]マンスカレンダ(TManthCalender)オブジェクトの作成
→共通ルーチン【ZVCMCAL】
TMonthCalendar を使うと,
ユーザーは Windows 組み込みのカレンダーコントロールを使って
特定の日付または日付の範囲を指定できます。
TMonthCalendar は,システムロケールに従って日付を表示します。
@予期しない値がセットされていないようにローカル変数を削除します[D KILL^ZVCMSUB]
Aイベントマスクを設定します、例では[V2EVENT^ZVCMCAL]ですが->適切に設定
Brectパラメタを作成します。[D SETRECT^ZVCMCAL]
(x,y,w,h):位置サイズ情報(行桁サイズモードに設定後)
(color):コントロールの色番号(Colorプロパティ)
-->指定なしの場合デフォルトの色
(font):コントロールのフオント番号(Fontプロパティ)
-->指定なしの場合(null)[font=501]のフオントをセット[SETRECTにおいて]
-->0:指定の場合デフォルトのフオント
(keycode):キーボードイベントを発生させる終了キーコードのセット
-->0を指定した場合0番のキーセットを指定した意味
※イベントマスク設定でキーボードイベントを有効に設定しないとキーボードイベントは発生しません
(その他のプロパティ):(zorder,TabOrder,TabStop)...は必要があれば設定します。
※[D SETRECT^ZVCMCAL] -> rectstrが作成される
Cコントロールの作成時プロパティ(マンスカレンダ作成パラメタ)をeditパラメタに設定します。[editstr]
-->[D KILLEDIT^ZVCMCAL]ローカル変数を削除(定義されていないとnullを設定)
※[S Date=選択開始日付]
-> yyyymmdd, yyyy.mm.dd, yyyy/mm/dd, yyyy-mm-dd の様に指定
※[S MultiSelect=複数の日付を選択可能]
-> 0:単一選択 1:複数の日付を選択
※[S Range=選択可能な日数の最大値]
※[S EndDate=選択終了日付]
-> yyyymmdd, yyyy.mm.dd, yyyy/mm/dd, yyyy-mm-dd の様に指定
※[S MinDate=スクロール可能な最小日付]
-> yyyymmdd, yyyy.mm.dd, yyyy/mm/dd, yyyy-mm-dd の様に指定
※[S MaxDate=スクロール可能な最大日付]
-> yyyymmdd, yyyy.mm.dd, yyyy/mm/dd, yyyy-mm-dd の様に指定
※[S FirstWeek=カレンダの左端に表示される曜日(7:日曜 1:月曜)]
※[S Today=カレンダの下部に今日の日付表示(1:表示 0:非表示)]
※[S TodayCircle=今日の日付を丸く囲む(1:丸く囲む 0:囲まない)]
※[S WeekNo=年初からの週数を左端に表示(1:表示 0:非表示)]
カレンダの各パートに使われる色を色番号で指定
※[S BackColor=月と月の間の背景色]
※[S MonthBackColor=カレンダの背景色]
※[S TextColor=日付のフオント]
※[S TitleBackColor=タイトルバーの背景色]
※[S TitleTextColor=タイトルバーのフオント]
※[S TrailingTextColor=表示月でない日付のフオント]
※[D SETEDIT^ZVCMCAL]プロパティパラメタ作成->EDITSTR
※[S editstr=EDITSTR]
D[D CREATE^ZVCMCAL]で使用されるパラメタを設定する
※[S cid=(1〜1023の一意の番号)]
※[S form=(1〜1023の親フォームのフォーム番号)]
※[S parent=(1〜1023の親コントロールのcid番号)]
※[S group=(0〜32767のグループ番号)]
※[D CREATE^ZVCMCAL]エデットコントロールオブジェクトの作成
E選択開始日付を設定
※[S cid=(1〜1023の一意の番号)]
※[S editstr=選択開始日付]
-> yyyymmdd, yyyy.mm.dd, yyyy/mm/dd, yyyy-mm-dd の様に指定
※[D DATE^ZVCMCAL]タブ選択表示を変更する
Fイベント応答メッセージから選択されている日付を取得する
※イベント種別=通常クリックイベントで処理します
※イベント応答メッセージを読み込む[S RESP=$$ReadMsg^ZVCMSUB(Rtail)
※読み込んだ(受信)イベント応答メッセージを分解する[D VCMRESP^ZVCMSUB]
※(Revent2):イベント種別
※(Rmain):選択開始日付
※[Rsub]:複数の日付を選択可能の時選択終了日付(以外はnull)
─────────────────────────────────────
[2]マンスカレンダ(TManthCalender)オブジェクトのイベント
→共通ルーチン【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]
─────────────────────────────────────
─────────────────────────────────────
mask2= 64 : (22)マウス左ダブルクリック応答(ビット6)
※イベント設定変数を設定 → D LEFTDBL^ZVCMEVENT
※リスポンス応答メッセージ中のイベントコード→ [Revent2=EV2DblClick],[Revent1=EV1DblClick]
─────────────────────────────────────
※イベントマスクを設定 → D SETEVENT^ZVCMEVENT
───────────────────────────────────
39-1
|目次|前ページ|次ページ|