เลื่อนไปพื้นที่ของไคลเอ็นต์

วิธีง่ายที่สุดเพื่อเลื่อนเนื้อหาของพื้นที่ของไคลเอนต์เป็นลบแล้ว วาด วิธีนี้เป็นวิธีโปรแกรมประยุกต์นี้มักจะใช้กับ SB_PAGEUP, SB_PAGEDOWN และ SB_TOP แจ้งข้อ ซึ่งโดยทั่วไปจะต้องมีเนื้อหาใหม่.

สำหรับข้อความแจ้งเตือน เช่น SB_LINEUP และ SB_LINEDOWN เนื้อหาทั้งหมดไม่จำเป็นต้องถูกลบ เนื่องจากบางอย่างยังคงปรากฏให้เห็นหลังจากเลื่อนเกิด ฟังก์ชันScrollWindowExรักษาส่วนของเนื้อหาของพื้นที่ไคลเอ็นต์ ย้ายส่วนรักษายอดเงินที่ระบุ แล้ว เตรียมส่วนเหลือของพื้นที่ที่ไคลเอ็นต์สำหรับข้อมูลใหม่ของทาสี ใช้ScrollWindowEx BitBltฟังก์ชันการย้ายเฉพาะบางส่วนของวัตถุข้อมูลไปยังตำแหน่งใหม่ภายในพื้นที่การไคลเอ็นต์ ถูกยกเลิกส่วนใดส่วนหนึ่งเถลิกของพื้นที่ที่ไคลเอ็นต์ (อะไรไม่ถูกรักษาไว้) ลบ และทาสีเมื่อถัดไป WM_PAINTความเกิดขึ้น.

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

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

นอกจากนี้คุณยังสามารถเลื่อนขอบเขตสี่เหลี่ยมโดยใช้ฟังก์ชันScrollDC.