เลื่อนกล่องตำแหน่งและการเลื่อนช่วง

ตำแหน่งของกล่องเลื่อนจะถูกแสดงเป็นจำนวนเต็ม จะสัมพันธ์กับส่วนท้ายด้านซ้าย หรือด้านบนของแถบเลื่อน ขึ้นอยู่กับว่าแถบเลื่อนเป็นแนวนอน หรือแนวตั้ง ตำแหน่งงานที่ต้องอยู่ภายในค่าต่ำสุด และสูงสุดของช่วงเลื่อน ตัวอย่าง ในแถบเลื่อนในช่วง 0 ถึง 100, 50 ตำแหน่งอยู่ตรงกลาง กับตำแหน่งที่เหลืออยู่ที่เท่า ๆ กันกระจายไปตามแถบเลื่อน ช่วงเริ่มต้นขึ้นบนแถบเลื่อน แถบเลื่อนมาตรฐานมีการเริ่มต้นช่วง 0 ถึง 100 ตัวควบคุมแถบเลื่อนมีช่วงว่าง (ค่าต่ำสุด และสูงสุดทั้งเป็นศูนย์), เว้นแต่ว่าคุณใส่ช่วงชัดเจนเมื่อมีสร้างตัวควบคุม คุณสามารถเปลี่ยนช่วงเวลาใดก็ คุณสามารถใช้ฟังก์ชันSetScrollInfoเพื่อกำหนดค่าช่วง และฟังก์ชันGetScrollInfoในการเรียกค่าช่วงปัจจุบัน.

แอปพลิเคชันโดยทั่วไปปรับช่วงเลื่อนไปยังจำนวนเต็มสะดวก ทำให้ง่ายต่อการแปลตำแหน่งกล่องเลื่อนไปยังค่าที่สอดคล้องกับวัตถุข้อมูลเพื่อจะได้เลื่อน ตัวอย่างเช่น ถ้าโปรแกรมประยุกต์ต้องแสดงบรรทัด 260 ของแฟ้มข้อความในหน้าต่างที่สามารถแสดงบรรทัดเพียง 16 ครั้ง ช่วงแถบเลื่อนแนวตั้งสามารถตั้งค่า 1 ถึง 244 ถ้ากล่องเลื่อนตำแหน่ง 1 บรรทัดแรกจะเป็นที่ด้านบนของหน้าต่าง ถ้ากล่องเลื่อนตำแหน่งที่ 244 จะเป็นบรรทัดสุดท้าย (บรรทัด 260) ที่ด้านล่างของหน้าต่าง ถ้าโปรแกรมประยุกต์พยายามระบุตำแหน่งค่าที่น้อยกว่าต่ำสุดหรือสูงสุดมากกว่า น้อยที่สุด หรือสูงสุดเลื่อนค่าช่วงถูกใช้แทน.

คุณสามารถตั้งค่าขนาดเพสำหรับแถบเลื่อน ขนาดของหน้าแสดงจำนวนหน่วยของข้อมูลที่สามารถจัดให้พอดีในพื้นที่ไคลเอ็นต์ของเจ้าของหน้าต่างให้เป็นขนาดปัจจุบัน ตัวอย่างเช่น ถ้าพื้นที่ไคลเอ็นต์สามารถเก็บข้อความบรรทัด 16 แอปพลิเคชันจะตั้งค่าขนาดหน้าถึง 16 ระบบใช้ขนาดของหน้า พร้อมกับช่วงและความยาวของเพลาเลื่อน เลื่อนเพื่อตั้งค่าขนาดของกล่องเลื่อน เมื่อใดก็ ตามที่ถูกปรับขนาดหน้าต่างประกอบด้วยแถบเลื่อน แอปพลิเคชันควรเรียกใช้ฟังก์ชันSetScrollInfoเพื่อตั้งค่าขนาดหน้า แอปพลิเคชันสามารถเรียกขนาดของหน้าปัจจุบัน โดยการเรียกฟังก์ชันGetScrollInfoจะส่ง.

การสร้างความสัมพันธ์ที่เป็นประโยชน์ระหว่างช่วงแถบเลื่อนและวัตถุข้อมูล โปรแกรมประยุกต์ต้องปรับช่วงเมื่อใดก็ ตามขนาดของข้อมูลวัตถุเปลี่ยนแปลง.

ขณะที่ผู้ใช้ย้ายกล่องเลื่อนในแถบเลื่อน แถบเลื่อนรายงานเลื่อนกล่องตำแหน่งเป็นจำนวนเต็มในช่วงเลื่อน ถ้าตำแหน่งที่เป็นค่าต่ำสุด กล่องเลื่อนอยู่ด้านบนของแถบเลื่อนแนวตั้ง หรือด้านซ้ายของแถบเลื่อนแนวนอน ถ้าตำแหน่งที่เป็นค่าสูงสุด กล่องเลื่อนเป็น ที่ด้านล่างของแถบเลื่อนแนวตั้ง หรือด้านขวาของแถบเลื่อนแนวนอน.

ค่าสูงสุดที่แถบเลื่อนสามารถรายงาน (นั่นคือ สูงสุดเลื่อนตำแหน่ง) ขึ้นอยู่กับขนาดของหน้า ถ้าแถบเลื่อนมีมากกว่าหนึ่งหน้าขนาด การเลื่อนตำแหน่งสูงสุดคือน้อยกว่าค่าสูงสุดช่วง คุณสามารถใช้สูตรต่อไปนี้เพื่อคำนวณการเลื่อนตำแหน่งสูงสุด:

MaxScrollPos = MaxRangeValue- (PageSize - 1) 

 

โปรแกรมประยุกต์ต้องย้ายกล่องเลื่อนในแถบเลื่อน แม้ว่าผู้ใช้ทำการร้องขอสำหรับการเลื่อนดูในแถบเลื่อน แถบเลื่อนไม่ปรับอัตโนมัติปรุงตำแหน่งกล่องเลื่อน แทน จะส่งคำขอไปยังหลักหน้าต่าง ซึ่งต้องเลื่อนข้อมูล และปรับปรุงตำแหน่งกล่องเลื่อน โปรแกรมประยุกต์ใช้ฟังก์ชันSetScrollInfoเพื่อปรับปรุงตำแหน่งกล่องเลื่อน มิฉะนั้น จะใช้ฟังก์ชันSetScrollPos เนื่องจากควบคุมการเคลื่อนไหวของกล่องเลื่อน แอพลิเคชันสามารถย้ายกล่องเลื่อน ด้วยระยะห่างที่เหมาะสมที่สุดสำหรับข้อมูลจะได้เลื่อนการทำงาน.

Index