毎週の日曜日+国民の休日の日だけ、塗りつぶしの設定をすると、どちらか一方の設定しか有効になりませんが、何処か設定が悪いのでしょうか。

説明

次の点をご確認ください。
・KnTView.Misc プロパティに tivMiscSpecialTimeNewMode を設定しているかどうか。
 設定はプロパティウィンドウで行えます。
設定の仕方:
1.VBのデザインモードのときに対象のタイムビューを選択する。
2.プロパティウィンドウから「Misc」を見つけてダブルクリックする。→プロパティページが表示されます。
3.Miscグループの中にあるチェックボックスのうち、「SpecialTime New Mode」をチェックする。

・ご使用のタイムビューのバージョンが V1.5 R.00 以上であるかどうか。確認は次の手順で行えます。
1.VBのデザインモードのときに対象のタイムビューを選択する。
2.プロパティウィンドウのリストの先頭付近にある「バージョン情報」を見つけてダブルクリックする。

対応

(例)
‘特定日を特別時間帯で表示する、サンプル サブプロシージャ
Private Sub SetLegalSpt(dtHoliday As Date)
Dim spt As SpecialTime
Set spt = KnTView1.PiecePane.SpecialTimeSet.SpecialTimes.Add
spt.Fill.BackColor = vbCyan
spt.Pattern = tivSpecialTimeDate
spt.Target = dtHoliday
spt.Start = “0:00”
spt.Finish = “0:00”
End Sub

‘特定日を特別時間帯で表示する、サンプル サブプロシージャ
Private Sub SetDayOfWeekSpt(iDayOfWeek As TivDayOfWeek, lColor As Long)
Dim spt As SpecialTime
Set spt = KnTView1.PiecePane.SpecialTimeSet.SpecialTimes.Add
spt.Fill.BackColor = lColor
spt.Pattern = tivSpecialTimeWeekly
spt.Target = iDayOfWeek
spt.Start = “0:00”
spt.Finish = “0:00”
End Sub

Private Sub Form_Load()
With KnTView1
With .TimeScale
With .Large
.Unit = tivScaleUnitWeek
.Format = “yyyy/m/d”
End With
With .Medium
.Unit = tivScaleUnitDay
.Format = “aaa”
End With
With .Small
.Hidden = True
End With
End With
.PiecePane.SpecialTimeSet = .SpecialTimeSets.Add ‘今回追加分
.Items.Add
End With

SetDayOfWeekSpt tivSaturday, vbBlue
SetDayOfWeekSpt tivSunday, vbRed

SetLegalSpt “2000/5/5” ‘子供の日
SetLegalSpt “2000/7/20” ‘海の日
SetLegalSpt “2000/9/15” ‘敬老の日
SetLegalSpt “2000/9/23” ‘秋分の日
End Sub