ฟังก์ชันScrollWindowExเลื่อนเนื้อหาของพื้นที่ของไคลเอ็นต์ของหน้าต่างที่ระบุ.
int ScrollWindowEx ( HWND hWnd, / / จัดการหน้าต่างเลื่อนint dx, / / เลื่อนจำนวนเส้นแนวนอนint dy, / / ยอดเงินของแนวตั้งเลื่อนCONST RECT* prcScroll, / / ที่อยู่ของโครงสร้างด้วยเลื่อนสี่เหลี่ยมผืนผ้าCONST RECT* prcClip, / / ที่อยู่ของโครงสร้างด้วยภาพสี่เหลี่ยมผืนผ้าHRGNhrgnUpdate, / / จัดการขอบเขตการปรับปรุงLPRECTprcUpdate, / / ที่อยู่ของโครงสร้างสำหรับการปรับปรุงรูปสี่เหลี่ยมUINTสถานะ/ / เลื่อนสถานะ);
| ค่า | ความหมาย |
|---|---|
| SW_ERASE | ลบพื้นที่ invalidated ใหม่ โดยการส่งข้อความ WM_ERASEBKGND ไปยังหน้าต่างเมื่อระบุ ด้วยค่าสถานะ SW_INVALIDATE. |
| SW_INVALIDATE | จะขอบเขตที่ระบุพารามิเตอร์hrgnUpdateหลังจากการเลื่อน. |
| SW_SCROLLCHILDREN | เลื่อนหน้าต่างลูกทั้งหมดที่เป็นจุดตัดสี่เหลี่ยมที่ชี้ไปตามพารามิเตอร์prcScroll Windows เด็กจะได้เลื่อน โดยจำนวนพิกเซลที่ระบุ โดยพารามิเตอร์dxและdy ระบบส่งข้อความ WM_MOVE กับ windows ของเด็กทั้งหมดที่เป็นจุดตัดสี่เหลี่ยมprcScrollแม้ว่าจะไม่ย้าย. |
| SW_SMOOTHSCROLL | Windows NT 5.0 และรุ่นใหม่กว่า: เลื่อนใช้การเลื่อนแบบเรียบ ใช้ส่วน HIWORD ของพารามิเตอร์ค่าสถานะเพื่อระบุระยะเวลาที่ควรใช้การดำเนินการเลื่อนแบบเรียบ. |
ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับเป็น SIMPLEREGION (สี่เหลี่ยม invalidated ภูมิภาค), COMPLEXREGION (nonrectangular invalidated ภูมิภาค รูปสี่เหลี่ยมที่ซ้อนกัน), หรือ NULLREGION (ไม่มี invalidated ภูมิภาค).
ถ้าฟังก์ชันล้มเหลว ค่าส่งกลับเป็นข้อผิดพลาด การขอเพิ่มเติมข้อมูลข้อผิดพลาด โทร GetLastError.
ถ้าไม่ระบุค่าสถานะ SW_INVALIDATE และ SW_ERASE, ScrollWindowExโมฆะพื้นที่ที่อยู่นอกจาก ถ้าอย่างใดอย่างหนึ่งค่าสถานะเหล่านี้ถูกตั้งค่าScrollWindowExจะพื้นที่นี้ พื้นที่ไม่ได้รับการปรับปรุงจนกว่าเรียกใช้โปรแกรมประยุกต์ UpdateWindowฟังก์ชัน เรียกการ RedrawWindowทำหน้าที่ (ระบุค่าสถานะ RDW_UPDATENOW หรือ RDW_ERASENOW), หรือดึงความ WM_PAINT จากคิวแอพลิเคชัน.
ถ้าหน้าต่างมีลักษณะ WS_CLIPCHILDREN พื้นที่คืนที่ระบุ โดยhrgnUpdateและprcUpdateแสดงพื้นที่ทั้งหมดของหน้าต่าง scrolled ที่ต้องปรับปรุง รวมทั้งส่วนใด ๆ ใน windows เด็กที่จำเป็นต้องปรับปรุง.
ถ้ามีระบุค่าสถานะ SW_SCROLLCHILDREN ระบบไม่ปรับอย่างถูกต้องปรุงหน้าจอถ้าส่วนหนึ่งของหน้าต่างลูกอยู่นอก ส่วนของหน้าต่าง scrolled ลูกที่อยู่นอกสี่เหลี่ยมต้นฉบับจะไม่ถูกลบ และวาดจะไม่ถูกต้องใหม่ในปลายทางของใหม่ เมื่อต้องการย้ายหน้าต่างลูกที่ไม่โกหกอย่างสมบูรณ์ภายในสี่เหลี่ยมที่ระบุโดยprcScrollใช้ฟังก์ชันDeferWindowPos เคอร์เซอร์เป็น repositioned ถ้าถูกตั้งค่าสถานะ SW_SCROLLCHILDREN และสี่เหลี่ยมตัวชี้เมื่อ intersects สี่เหลี่ยมเลื่อน.
มีกำหนดพิกัดเข้า และออกทั้งหมด (สำหรับprcScroll, prcClip, prcUpdateและhrgnUpdate) เป็นพิกัดไคลเอ็นต์ คำนึงถึงว่าหน้าต่างมีสไตล์คลา CS_OWNDC หรือ CS_CLASSDC ใช้ฟังก์ชันLPtoDPและDPtoLPการแปลง และ จาก พิกัดตรรกะ ถ้าจำเป็น.
Windows CE: พารามิเตอร์ค่าสถานะไม่สนับสนุน SW_SCROLLCHILDREN.
เพียงหนึ่งพารามิเตอร์dxและdyอาจไม่ใช่ศูนย์.
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib.
ภาพรวมของแถบเลื่อนแถบเลื่อนฟังก์ชัน DeferWindowPos, DPtoLP, LPtoDP, RECT, RedrawWindow, UpdateWindow