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