Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aylık takvim denetimi, takvim benzeri bir kullanıcı arabirimi uygular. Bu, kullanıcıya bir tarih girmek veya seçmek için çok sezgisel ve tanınabilir bir yöntem sağlar. Denetim ayrıca uygulamaya, mevcut veri türlerini kullanarak denetimdeki tarih bilgilerini almak ve ayarlamak için araçlar sağlar.
Ay Takvimi Denetim Özellikleri
Aşağıdaki ekran görüntüsünde, iki ayı gösterecek şekilde boyutlandırılmış bir ay takvim denetimi gösterilmektedir.
İki ayı yan yana gösteren ay takvim denetimine sahip bir iletişim kutusunun ekran görüntüsünü 
Not
Ay takvim denetiminin görünümü ve davranışı, çalışma zamanı kitaplığının farklı sürümleri altında biraz farklılık gösterir. Bu konu, Windows Vista'da Comctl32.dllsürüm 6 ile göründüğü şekliyle denetim üzerinde yoğunlaşır.
Çizimdeki denetim aşağıdaki isteğe bağlı özelliklere sahiptir.
- Geçerli tarih, denetimin en altındaki ayrı bir satırda gösterilir. Bu varsayılan stildir.
- "Bugün çemberi" (aslında bu sürümdeki bir dikdörtgen) geçerli günün etrafında ve görsel bir ipucu olarak "Bugün" çizgisinin yanında görünür. Bu varsayılan stildir.
- Hafta numaraları, günlerin her satırının solunda gösterilir. Bu stil belirtilmelidir.
- Bazı tarihler, uygulama tarafından ayarlanan gün durumuna göre kalın yazıyla gösterilir. Örneğin, zamanlanmış toplantıların olduğu tarihler kalın yazıyla gösterilebilir. Bu stil belirtilmelidir.
Not
Windows, 1601 öncesi tarihleri desteklemez. Ayrıntılar için bkz. FILETIME.
Ay takvimi denetimi, 1753'te tanıtılan Gregoryen takvimi temel alır. 1753'e kadar kullanımda olan Jülyen takvimiyle tutarlı olan tarihleri hesaplamaz.
Gün seçme
Varsayılan olarak, kullanıcı ay takvim denetiminin sol üst veya sağ üst kısmındaki ok düğmelerine tıkladığında, denetim önceki veya sonraki ayı gösterecek şekilde görünümünü güncelleştirir. Kullanıcı, ilk aydan önce ve geçen aydan sonra görüntülenen kısmi aylara tıklayarak da aynı eylemi gerçekleştirebilir.
Seçimi taşımak için aşağıdaki klavye komutları da kullanılabilir. Takvim her zaman gerektiği gibi kaydırarak seçili günü görüntüler. (sanal anahtar kodları tabloda gösterilir.)
| Komut | Açıklama |
|---|---|
| Sol ok tuşu (VK_LEFT) | Önceki günü seçin. |
| Sağ ok (VK_RIGHT) | Sonraki günü seçin. |
| Yukarı ok (VK_UP) | Önceki haftanın aynı gününü seçin. |
| Aşağı ok (VK_DOWN) | Sonraki hafta aynı günü seçin. |
| PAGE UP (VK_PRIOR) | Önceki ayın aynı gününü seçin. (O ayın günü yoksa, en yakın gün seçilir; örneğin, seçim 31 Mart'tan 28 Şubat'a veya 29 Şubat'a taşınır.) |
| Sayfa Aşağı (VK_NEXT) | Sonraki ayın aynı gününü seçin. |
| HOME (Ana Sayfa) (VK_HOME) | Geçerli ayın ilk gününü seçin. |
| END (VK_END) | Geçerli ayın son gününü seçin. |
| CTRL + Başlangıç | Bir ay geriye doğru kaydırın ve en soldaki sütunda bir gün seçin. |
| CTRL + END | Bir ay ileri kaydırın ve en sağdaki sütunda bir gün seçin. |
| CTRL + YUKARI SAYFA | Önceki bir ay içinde aynı günü seçin. Seçimin hareket ettiği ay sayısı, kullanıcı arayüzündeki kontrol üzerinde görüntülenen ay sayısıdır. Örneğin, iki ay görüntülenirse, seçim 6 Haziran'dan 6 Mayıs'a taşınır. |
| CTRL + Aşağı Sayfa | Önceki bir ay içinde aynı günü seçin. Seçimin hareket ettiği ay sayısı, kontrolde görüntülenen ay sayısıdır. Örneğin, iki ay görüntülenirse, seçim 6 Haziran'dan 6 Ağustos'a taşınır. |
Ay takvimi denetimi MCS_NOTODAY stilini kullanmıyorsa, kullanıcı denetimin en altındaki "Bugün" metnine tıklayarak geçerli güne geri dönebilir. Geçerli gün görünmüyorsa, denetim görüntüsünü güncelleyerek gösterir.
Bir uygulama, MCM_SETMONTHDELTA iletisini veya MonthCal_SetMonthDeltailgili makroyu kullanarak denetimin görüntülenmesini güncelleştirdiği ay sayısını değiştirebilir. Ancak PAGE UP ve PAGE DOWN tuşları, görüntülenen ay sayısından veya MCM_SETMONTHDELTAtarafından ayarlanan değerden bağımsız olarak seçili ayı birer birer değiştirir.
Bitişik olmayan bir ay seçme
Kullanıcı görüntülenen ayın adına tıkladığında, yıl içindeki tüm aylar listelenir (önceki sürümlerde bu bir açılır menüdür). Kullanıcı listeden bir ay seçebilir. Kullanıcının seçimi görünmüyorsa, ay takvim denetimi seçilen ayı göstermek için ekranı kaydırıyor. Aşağıdaki ekran görüntüsünde, ay takvim denetimi iki bitişik yılın aylarını gösterir.
2007 ve 2008ekran görüntüsü
Farklı bir yıl seçme
Kullanıcı yıla tıklarsa, bir yıl grubu listelenir ve kullanıcı aşağıdaki ekran görüntüsünde gösterildiği gibi farklı bir yıl seçebilir.
1999 ile 2020 arasındaki tüm yılları gösteren ay takvimi denetiminin 
Yerelleştirme
Ay takvimi denetimi, biçimini ve tüm dizelerini LOCALE_USER_DEFAULT'tan alır.
Ay Takvimi Kontrolündeki Saatler
Ay takvimi denetimi saati görüntülemez. Ancak, seçilen tarihi veya bugünün tarihini ayarlamak ve almak için kullanılan SYSTEMTIME yapısı saat alanlarını içerir. Tarih program aracılığıyla ayarlandığında, kontrol öğesi saat alanlarını oldukları gibi kopyalar veya önce doğrular; eğer geçersizse, mevcut varsayılan saatleri depolar. Tarih ayarlayan iletilerin listesi ve saat alanlarının nasıl işlendiğini gösteren bir açıklama aşağıdadır.
| İleti | Açıklama |
|---|---|
| MCM_SETCURSEL | Denetim, zaman alanlarını doğrulama veya değişiklik yapmadan olduğu gibi kopyalar. |
| MCM_SETRANGE | Geçirilen yapıların zaman alanları doğrulanır. Bunlar geçerliyse, zaman alanları değiştirilmeden kopyalanır. Bunlar geçersizse, denetim zaman alanlarını bugünün verilerinden kopyalar. |
| MCM_SETSELRANGE | geçirilen yapıların zaman alanları doğrulanır. Bunlar geçerliyse, zaman alanları değiştirilmeden kopyalanır. Geçersiz olmaları durumunda, denetim mevcut seçim aralıklarından zaman alanlarını korur. |
| MCM_SETTODAY | Denetim, zaman alanlarını doğrulama veya değişiklik yapmadan olduğu gibi kopyalar. |
Denetimden bir tarih alındığında, saat alanları değişiklik yapılmadan depolanan zamanlardan kopyalanır. Zaman alanlarının kontrol tarafından işlenmesi, programcıya kolaylık sağlamak amacıyla sağlanmıştır. Denetim, yukarıda listelenenler dışında herhangi bir işlemin sonucu olarak zaman alanlarını incelemez veya değiştirmez.