VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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を取得し、
その値から年/月を割り出します。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -