投稿日 | : 2005/08/13(Sat) 06:42 |
投稿者 | : G13 |
Eメール | : |
URL | : |
タイトル | : Re: カレンダーコントロールに関して |
> combo box を利用してカレンダーの月及び年を切り替える様になっているのですが、
> その値の修得方法が分かりません。
>
> Calendar1.Year と Calendar1.Month と思ったのですが、どちらも値には0が入っているのみです。
#私の環境では、CalendarコントロールをForm1に貼り付けて、
#Debug.Print Calendar1.Year, Calendar1.Month
#とすると、2005 8となりますけど?。
#環境:WinXP(SP2) VB6(SP6)
■確認
ComboBoxコントロール(年/月)から年/月値を取得して、Calendarコントロールに年/月を
設定するのですか?。
であれば、
その値の修得(取得?)方法は、ComboBoxからの値ということですよね。
ComboBoxにどういった形でListをAddしているのか判りませんが、以下のコードでカレン
ダーは切り替わりました。
#ComboBoxのStyleプロパティ = 2 DropDownList にしています。
Private Sub cboMonth_Click()
With cboMonth
Calendar1.Month = (.ListIndex + 1)
End With
End Sub
Private Sub cboYear_Click()
With cboYear
Calendar1.Year = (.ListIndex + 2000)
End With
End Sub
Private Sub Form_Load()
Dim i As Integer
'年(取りあえず100年分で初期値は2000年)
With cboYear
.Clear
For i = 0 To 99
.AddItem CStr(2000 + i) & "年"
Next i
.ListIndex = (Calendar1.Year - 2000)
End With
With cboMonth
.Clear
For i = 1 To 12
.AddItem CStr(i) & "月"
Next i
.ListIndex = Calendar1.Month - 1
End With
End Sub
ListIndexは0〜順番に割り付くので、ComboBoxのClickイベントからListIndexを取得し、
その値から年/月を割り出します。