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.
İzleme çubuğu, kanalda kaydırıcı (bazen başparmak olarak adlandırılır) ve isteğe bağlı değer çizgileri içeren bir penceredir. Kullanıcı kaydırıcıyı fareyi veya yön tuşlarını kullanarak hareket ettirdiğinde, trackbar değişikliği belirtmek için bildirim iletileri gönderir.
- Seçim Aralığı
- Kaydırma Çubuğu İletileri
- Kaydırma Çubuğu Bildirim Mesajları
- Varsayılan Kaydırma Çubuğu İleti İşleme
- İzleme Çubuğu Araç İpuçları
Kullanıcının aralıktaki ayrık bir işaretsiz tamsayı değerini veya ardışık işaretsiz tamsayı değerlerini seçmesini istediğinizde, izleme çubukları kullanışlıdır. Örneğin, kullanıcıya kaydırıcıyı belli bir işaret noktasına taşıyarak klavyenin tekrarlama hızını ayarlama imkanı sağlamak amacıyla bir izleme çubuğu kullanabilirsiniz. Aşağıdaki çizimde tipik bir trackbar gösterilmektedir.
Yavaş ve hızlı için uçlarında etiketler bulunan bir izleme çubuğunun ekran görüntüsü 
İzleme çubuğundaki kaydırıcı, onu oluştururken belirttiğiniz artışlarla hareket eder. Bu aralıktaki değerler mantıksal birimler olarak adlandırılır. Örneğin, izleme çubuğunun 0 ile 5 arasında mantıksal birimlere sahip olması gerektiğini belirtirseniz, kaydırıcı yalnızca altı konumu kaplayabilir: izleme çubuğunun sol tarafında bir konum ve aralıktaki her artış için bir konum. Genellikle, bu konumların her biri bir tik işareti ile tanımlanır; ancak tik işareti sayısı belirli bir kuralı olmayan ve mantıksal konum sayısından daha az olabilir.
CreateWindowEx işlevini kullanarak TRACKBAR_CLASS pencere sınıfını belirterek bir izleme çubuğu oluşturursunuz. Bir trackbar oluşturduktan sonra, birçok özelliğini ayarlamak ve almak için trackbar mesajlarını kullanabilirsiniz. Yapabileceğiniz değişiklikler arasında kaydırıcı için minimum ve maksimum konumları ayarlama, değer çizgileri çizme, seçim aralığı ayarlama ve kaydırıcıyı yeniden konumlandırma sayılabilir.
Seçim Aralığı
TBS_ENABLESELRANGE stiliyle bir izleme çubuğu oluşturursanız, bir seçim aralığı belirtebilirsiniz. Kaydırma çubuğu seçim aralığını vurgular ve aşağıdaki çizimde gösterildiği gibi başlangıç ve bitişte üçgen tırtık işaretleri görüntüler.
İzleme çubuğunun seçim aralığı işlevini hiçbir şekilde etkilemez. Aralığı uygulamak uygulamaya bağlı. Bunu aşağıdaki yollardan biriyle yapabilirsiniz:
- Kullanıcının bazı parametreler için en yüksek ve en düşük değerleri ayarlamasını sağlamak için bir seçim aralığı kullanın. Örneğin, kullanıcı kaydırıcıyı bir konuma taşıyabilir ve ardından "En Fazla" etiketli bir düğmeye tıklayabilir. Uygulama daha sonra seçim aralığını kullanıcı tarafından seçilen değerleri gösterecek şekilde ayarlar.
- WM_HSCROLL veya WM_VSCROLL bildirimini işleyerek ve seçim aralığının dışındaki herhangi bir harekete izin vermeyerek kaydırıcının hareketini denetim içinde önceden belirlenmiş bir alt düzenlemeyle sınırlayın. Örneğin, kullanıcının kullanabileceği değer aralığı kullanıcının yaptığı diğer seçimler nedeniyle veya kullanılabilir kaynaklara göre değişebiliyorsa bunu yapabilirsiniz.
İzleme Çubuğu İletileri
bir izleme çubuğunun mantıksal birimleri, izleme çubuğunun gösterebileceği bitişik değerler kümesidir. Bunlar, izleme çubuğu oluşturulduğunda, olası değerler aralığı bir TBM_SETRANGE iletisiyle belirtilerek tanımlanır. Uygulamalar TBM_SETRANGE, TBM_SETRANGEMAXveya TBM_SETRANGEMINkullanarak aralığı dinamik olarak değiştirebilir.
Kaydırıcının konumunu (kullanıcının seçtiği değer) almak için TBM_GETPOS iletisini kullanın. Kaydırıcının konumunu ayarlamak için TBM_SETPOS iletisini kullanın.
TBS_NOTICKS stilini belirtmediğiniz sürece, izleme çubuğu otomatik olarak çizgi işaretlerini başında ve sonunda görüntüler. (Microsoft Visual Studio kaynak düzenleyicisinde bu, Değer İşaretleri özelliğini False olarak ayarlamak anlamına gelir.) İzleme çubuğu boyunca düzenli aralıklarla otomatik olarak ek değer çizgileri görüntülemek için TBS_AUTOTICKS stilini kullanabilirsiniz. Varsayılan olarak, TBS_AUTOTICKS bir izleme çubuğu, izleme çubuğunun aralığının her bir artışında bir onay işareti görüntüler. Otomatik işaret çizgileri için farklı bir aralık belirtmek amacıyla, TBM_SETTICFREQ mesajını kaydırma çubuğuna gönderin. Örneğin, 1 ile 100 arasında yalnızca 10 tik işareti görüntülemek için bu iletiyi kullanabilirsiniz.
Tek bir onay işaretinin konumunu ayarlamak için TBM_SETTIC iletisini gönderin. İzleme çubuğu, her onay işaretinin konumunu depolayan bir DWORD değerleri dizisi tutar. Dizi, izleme çubuğunun otomatik olarak oluşturduğu ilk ve son çentik işaretlerini içermez. karşılık gelen onay işaretinin konumunu almak için TBM_GETTIC iletisini gönderirken bu dizide bir dizin belirtebilirsiniz. Alternatif olarak, diziye bir işaretçi almak için TBM_GETPTICS iletisini gönderebilirsiniz. Dizideki öğelerin sayısı, TBM_GETNUMTICS iletisi tarafından döndürülen tik sayısından iki eksiktir. Bunun nedeni, TBM_GETNUMTICS tarafından döndürülen sayının, diziye dahil olmayan ilk ve son çentik işaretlerini içermesidir. Bir çentik işaretinin fiziksel konumunu almak için, kaydırma çubuğu penceresinin istemci koordinatları cinsinden TBM_GETTICPOS iletisini gönderin. TBM_CLEARTICS iletisi, bir izleme çubuğunun değer çizgilerinin ilk ve son kısmı dışında tümünü kaldırır.
İzleme çubuğunun hareket mesafesi, kaydırıcının Sağ Ok veya Aşağı Ok tuşu gibi ok tuşlarından klavye girişine yanıt olarak ne kadar hareket edeceğini belirler. Satır boyutunu almak veya ayarlamak için TBM_GETLINESIZE ve TBM_SETLINESIZE iletilerini gönderin. İzleme çubuğu, kullanıcı ok tuşlarına bastığında TB_LINEUP ve TB_LINEDOWN bildirim kodlarını da üst penceresine gönderir.
trackbar'ın sayfa boyutu, kaydırıcının klavye girdilerine (örneğin PAGE UP ya da PAGE DOWN tuşları) veya mouse girdilerine (örneğin trackbar kanalındaki tıklamalar) yanıt olarak ne kadar hareket edeceğini belirler. Sayfa boyutunu almak veya ayarlamak için TBM_GETPAGESIZE ve TBM_SETPAGESIZE iletileri gönderin. Kaydırma çubuğu, sayfayı kaydıran klavye veya fare girişi aldığında TB_PAGEUP ve TB_PAGEDOWN bildirim kodlarını üst penceresine de gönderir. Daha fazla bilgi için bkz. İzleme Çubuğu Bildirim İletileri.
Bir uygulama, izleme çubuğunun boyutlarını almak için iletiler gönderebilir. TBM_GETTHUMBRECT iletisi kaydırıcının sınırlayıcı dikdörtgenini alır. TBM_GETTHUMBLENGTH iletisi kaydırıcının uzunluğunu edinir. TBM_GETCHANNELRECT iletisi, kaydırıcının üzerinde hareket ettiği alan olan izleme çubuğunun kanalı için sınırlayıcı dikdörtgeni alır. Bir aralık seçildiğinde vurguyu içerir. bir izleme çubuğu TBS_FIXEDLENGTH stiline sahipse, kaydırıcının uzunluğunu değiştirmek için TBM_SETTHUMBLENGTH iletiyi gönderebilirsiniz.
İzleme çubuğuna ileti göndererek seçim aralığını alır veya ayarlarsınız. Seçimin başlangıç ve bitiş konumlarını ayarlamak için TBM_SETSEL iletisini kullanın. Seçimin yalnızca başlangıç konumunu veya yalnızca bitiş konumunu ayarlamak için bir TBM_SETSELSTART veya TBM_SETSELEND iletisi gönderin. Seçim aralığının başlangıç veya bitiş konumlarını almak için bir TBM_GETSELSTART veya TBM_GETSELEND iletisi gönderin. Seçim aralığını temizlemek ve izleme çubuğunu özgün aralığına geri yüklemek için TBM_CLEARSEL iletisini gönderin.
Not
Kullanıcının seçim aralığı dışındaki değerleri seçemediğinden emin olmak uygulamanın sorumluluğundadır. Denetimin kendisi, kullanıcının kaydırıcıyı aralığın dışına taşımasını engellemez.
İzleme Çubuğu Bildirim İletileri
bir izleme çubuğu, kullanıcı eylemlerini üst pencereye bir WM_HSCROLL veya WM_VSCROLL iletisi göndererek bildirir. Bir kaydırma çubuğu TBS_HORZ stiliyle WM_HSCROLL iletileri gönderir. TBS_VERT stiline sahip bir kayan çubuk, WM_VSCROLL iletileri gönderir. WM_HSCROLL veya WM_VSCROLL parametresinin wParam parametresinin düşük sıralı sözcüğü bildirim kodunu içerir. TB_THUMBPOSITION ve TB_THUMBTRACK bildirim kodları için, wParam parametresinin yüksek sıralı sözcüğü kaydırıcının konumunu belirtir. Diğer tüm bildirim kodları için yüksek sıralı sözcük sıfırdır; kaydırıcı konumunu belirlemek için TBM_GETPOS iletisini gönderin. lParam parametresi, izleme çubuğunun tutamacıdır.
Sistem TB_BOTTOM, TB_LINEDOWN, TB_LINEUP ve TB_TOP bildirim kodlarını yalnızca kullanıcı klavyeyi kullanarak bir izleme çubuğuyla etkileşime geçtiğinde gönderir. TB_THUMBPOSITION ve TB_THUMBTRACK bildirim kodları yalnızca kullanıcı fareyi kullandığında gönderilir. her iki durumda da TB_ENDTRACK, TB_PAGEDOWN ve TB_PAGEUP bildirim kodları gönderilir. Aşağıdaki tabloda, Virtual-Key Kodlarıbildirimlerinin gönderilmesine neden olan izleme çubuğu bildirim kodları ve olaylar (sanal anahtar kodları veya fare olayları) listelenmektedir.
| Bildirim kodu | Gönderilen neden |
|---|---|
| TB_BOTTOM | VK_END |
| TB_ENDTRACK | WM_KEYUP (kullanıcı ilgili bir sanal anahtar kodu gönderen bir anahtar yayımladı) |
| TB_LINEDOWN | VK_RIGHT veya VK_DOWN |
| TB_LINEUP | VK_LEFT veya VK_UP |
| TB_Sayfa Aşağı | VK_NEXT (kullanıcı kaydırıcının altındaki veya sağındaki kanala tıkladı) |
| TB_SAYFA_YUKARI | VK_PRIOR (kullanıcı kaydırıcının üstündeki veya solundaki kanala tıkladı) |
| TB_THUMBPOSITION | TB_THUMBTRACK bildirim kodunu takip WM_LBUTTONUP |
| TB_THUMBTRACK | Kaydırıcı hareketi (kullanıcı kaydırıcıyı sürükledi) |
| TB_TOP | VK_HOME |
Varsayılan Kaydırma Çubuğu Mesaj İşleme
Bu bölümde, bir izleme çubuğunun gerçekleştirdiği pencere mesajı işleme açıklanmaktadır.
| İleti | İşleme gerçekleştirildi |
|---|---|
| WM_CAPTURECHANGED | WM_LBUTTONDOWN işleme sırasında ayarlandıysa zamanlayıcıyı durdurur ve gerekirse TB_THUMBPOSITION bildirim kodunu gönderir. Her zaman TB_ENDTRACK bildirim kodunu gönderir. |
| WM_CREATE | Satır boyutunu, sayfa boyutunu ve değer işareti sıklığını varsayılan değerlere ayarlama gibi ek başlatma işlemleri gerçekleştirir. |
| WM_DESTROY | Kaynakları serbest bırakır. |
| WM_ENABLE | trackbar penceresini yeniden boyar. |
| WM_ERASEBKGND | İzleme çubuğu için geçerli arka plan rengini kullanarak pencere arka planını siler. |
| WM_GETDLGCODE | DLGC_WANTARROWS değerini döndürür. |
| WM_KEYDOWN | Yön anahtarlarını işler ve TB_TOP, TB_BOTTOM, TB_PAGEUP, TB_PAGEDOWN, TB_LINEUP ve TB_LINEDOWN bildirim kodlarını uygun şekilde gönderir. |
| WM_KEYUP | Anahtar yön anahtarlarından biriyse TB_ENDTRACK bildirim kodunu gönderir. |
| WM_KILLFOCUS | trackbar penceresini yeniden boyar. |
| WM_LBUTTONDOWN | Odağı ve fare yakalamasını kaydırma çubuğuna ayarlar. Gerektiğinde, kullanıcı penceredeki fare düğmesini basılı tuttuğunda kaydırıcının fare imlecine ne kadar hızlı hareket ettiğini belirleyen bir zamanlayıcı ayarlar. |
| WM_LBUTTONUP | fare yakalamayı serbest bırakır ve WM_LBUTTONDOWN işleme sırasında ayarlanmışsa zamanlayıcıyı sonlandırır. Gerekirse TB_THUMBPOSITION bildirim kodunu gönderir. Her zaman TB_ENDTRACK bildirim kodunu gönderir. |
| WM_MOUSEMOVE | Kaydırıcıyı taşır ve fareyi takip ederken TB_THUMBTRACK bildirim kodunu gönderir (bkz. WM_TIMER). |
| WM_PAINT | Trackbarı boyar. wParam parametresi NULL değilse, denetim değerin bir HDC olduğunu varsayar ve bu cihaz bağlamını kullanarak boyar. |
| WM_SETFOCUS | trackbar penceresini yeniden boyar. |
| WM_SIZE | İzleme çubuğunun boyutlarını ayarlar ve görüntülemek için yeterli alan yoksa kaydırıcıyı kaldırır. |
| WM_TIMER | Fare konumunu alır ve kaydırıcının konumunu güncelleştirir. (Yalnızca kullanıcı kaydırıcıyı sürüklediğinde alınır.) |
| WM_WININICHANGE | Kaydırıcı boyutlarını ayarlar. |
İzleme Çubuğu Araç İpuçları
TBS_TOOLTIPS stiliyle oluşturulan bir izleme çubuğu varsayılan bir araç ipucu denetimine sahiptir. Araç ipucu görünür kalır ve kullanıcı fareyi kullanarak kaydırıcıyı sürüklerken geçerli değeri gösterir.
TBM_SETTOOLTIPS iletisini göndererek bir izleme çubuğuna yeni bir araç ipucu denetimi atayabilirsiniz. Atanmış araç ipucu kontrolünün kulpunu almak için TBM_GETTOOLTIPS iletisini kullanın.