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