Kaydırma kutusunun konumu ve aralığı kaydırma

Kaydırma kutusunun konumu bir tamsayı gösterilir; Bu yatay veya dikey kaydırma çubuğunu olmasına bağlı olarak kaydırma çubuğunun sol veya üst uç görelidir. Pozisyon, minimum ve maksimum değerleri kayan Aralık içinde olmalıdır. Örneğin, 0 ile 100 arasında bir dizi bir kaydırma çubuğu, 50 ortasında, eşit olarak dağıtılmış bir kaydırma çubuğu kalan pozisyonlarla konumdur. Başlangıç aralığı kaydırma çubuğundaki bağlıdır. Standart kaydırma çubuklarını 0 ile 100 arasında bir ilk aralığı vardır; kaydırma çubuğu denetimleri olan bir boş aralığı (minimum ve maksimum değerler sıfır), Denetim oluşturulduğunda bir açık aralığı sağlamak sürece. İstediğiniz zaman aralığını değiştirebilirsiniz. Aralık değerleri için SetScrollInfo işlevi ve geçerli aralığı değerlerini almak için GetScrollInfo işlevi kullanabilirsiniz.

Bir uygulama genelde kolay kaydırma kutusunun konumundaki kaydırılır için veri nesnesine karşılık gelen bir değer haline çevirmek uygun tamsayılar kaydırma aralığı ayarlar. Örneğin, bir uygulama, bir pencerede bir defada yalnızca 16 satır gösteren 260 satırlık bir metin dosyası görüntülemeniz gerekir, dikey kaydırma çubuğunun aralığı 1 244 ile ayarlanabilir. Kaydırma kutusunun konumu 1 ise, ilk satır pencerenin üstünde olacak. Kaydırma kutusunun konumu 244 ise, son satır (260) penceresinin altında olacak. En az veya en çok daha az bir pozisyon değeri belirtmek uygulama çalışırsa, minimum veya maksimum kaydırma aralığı değeri yerine kullanılır.

Kaydırma çubuğu için bir sayfa boyutu belirleyebilirsiniz. Sayfa boyutu , geçerli boyutuna verilen sahibi pencerenin istemci alanına sığabileceğinden veri birimlerinin temsil eder. Örneğin, istemci alanı 16 satır metin tutabilir, uygulama 16 sayfa boyutunu ayarlarsınız. Sistem, kaydırma kutusunun boyutunu ayarlamak için kaydırma aralığı ve kaydırma şaft uzunluğu ile birlikte sayfa boyutunu kullanır. Her bir kaydırma çubuğu içeren bir pencere yeniden boyutlandırıldığında, uygulama sayfa boyutunu ayarlamak için SetScrollInfo işlevini çağırmalıdır. Uygulama gönderen GetScrollInfo işlevini çağırarak geçerli sayfa boyutu alabilirsiniz.

Verilerin boyutunu nesne her değişiklik veri nesnesi arasında kaydırma çubuğu aralığı kullanışlı bir ilişki kurmak için bir uygulama aralığını ayarlamak gerekir.

Kullanıcı kaydırma çubuğundaki kaydırma kutusunun hareket ettikçe kaydırma çubuğu kaydırma aralığındaki bir tamsayı olarak kaydırma kutusunun konumundaki bildirir. Pozisyon minimum değeri, kaydırma kutusunu dikey kaydırma çubuğunun en üstündeki ya da yatay kaydırma çubuğunun sol ucundaki ' dir. Pozisyon maksimum değeri kaydırma kutusunu dikey kaydırma çubuğunun en üstündeki ya da yatay kaydırma çubuğunun sağ ucundaki ise,.

Bir kaydırma çubuğu için maksimum değeri rapor (, konuma kaydırma maksimum) sayfa boyutuna bağlıdır. Kaydırma çubuğunu büyük bir sayfa boyutu en fazla pozisyon kaydırma azami menzili değerden daha az ise. En fazla pozisyon kaydırma hesaplamak için aşağıdaki formülü kullanabilirsiniz:

MaxScrollPos = MaxRangeValue-(PageSize - 1) 

 

Bir uygulama bir kaydırma çubuğundaki kaydırma kutusunun taşımanız gerekir. Kullanıcı, bir kaydırma çubuğu kaydırma istekte rağmen kaydırma çubuğundaki kaydırma kutusunun konumundaki otomatik olarak güncelleştirmez. Bunun yerine, verileri ilerleyin ve kaydırma kutusunun konumundaki güncelleştirme gereken ana pencereye istek geçirir. Uygulama, kaydırma kutusunun konumundaki güncelleştirmek için SetScrollInfo işlevini kullanır; Aksi takdirde, SetScrollPos işlevini kullanır. Kaydırma kutusunun hareket denetimleri olduğundan, uygulama adımlarla kaydırılır verileri için en iyi çalışan kaydırma kutusunu taşıyabilirsiniz.

Index