ScrollWindowEx

ฟังก์ชันScrollWindowExเลื่อนเนื้อหาของพื้นที่ของไคลเอ็นต์ของหน้าต่างที่ระบุ.

int ScrollWindowEx ( HWND  hWnd, / / จัดการหน้าต่างเลื่อนint dx, / / เลื่อนจำนวนเส้นแนวนอนint dy, / / ยอดเงินของแนวตั้งเลื่อนCONST RECT* prcScroll,  / / ที่อยู่ของโครงสร้างด้วยเลื่อนสี่เหลี่ยมผืนผ้าCONST RECT* prcClip,  / / ที่อยู่ของโครงสร้างด้วยภาพสี่เหลี่ยมผืนผ้าHRGNhrgnUpdate, / / จัดการขอบเขตการปรับปรุงLPRECTprcUpdate, / / ที่อยู่ของโครงสร้างสำหรับการปรับปรุงรูปสี่เหลี่ยมUINTสถานะ/ / เลื่อนสถานะ);
 

พารามิเตอร์

hWnd
จัดการไปยังพื้นที่ไคลเอนต์อยู่เพื่อจะได้เลื่อนหน้าต่าง.
dx
ระบุยอดเงิน ในอุปกรณ์หน่วย เลื่อนตามแนวนอน พารามิเตอร์นี้ต้องไม่เป็นค่าลบให้เลื่อนไปทางซ้าย.
dy
ระบุยอดเงิน ในอุปกรณ์หน่วย เลื่อนตามแนวนอน พารามิเตอร์นี้ต้องไม่เป็นค่าลบให้เลื่อนขึ้น.
prcScroll
ชี้ไป RECTโครงสร้างที่ระบุส่วนของพื้นที่ไคลเอ็นต์เพื่อจะได้เลื่อน ถ้าพารามิเตอร์นี้เป็นค่า NULL อยู่นอกพื้นที่ไคลเอ็นต์ทั้งหมด.
prcClip
ชี้การRECTโครงสร้างประกอบด้วยพิกัดของรูปวาดสี่เหลี่ยม เฉพาะอุปกรณ์บิตภายในสี่เหลี่ยมรูปวาดได้รับผลกระทบ บิตที่ได้เลื่อนจากนอกของสี่เหลี่ยมไปภายในจะทาสี ไม่มีทาสีบิตที่ได้เลื่อนจากภายในสี่เหลี่ยมด้านนอก.
hrgnUpdate
จัดการลงในขอบเขตที่มีการปรับเปลี่ยนเพื่อเก็บในขอบเขตที่ยกเลิก โดยการเลื่อน พารามิเตอร์นี้อาจจะเป็น NULL.
prcUpdate
ชี้การRECTโครงสร้างขอบเขตของสี่เหลี่ยมยกเลิก โดยเลื่อนการรับ พารามิเตอร์นี้อาจจะเป็น NULL.
ค่าสถานะ
ระบุสถานะที่ควบคุมการเลื่อน พารามิเตอร์นี้สามารถเป็นหนึ่งในค่าต่อไปนี้:
ค่า ความหมาย
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อาจไม่ใช่ศูนย์.

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib.

ดูเพิ่มเติม

ภาพรวมของแถบเลื่อนแถบเลื่อนฟังก์ชัน DeferWindowPos, DPtoLP, LPtoDP, RECT, RedrawWindow, UpdateWindow

Index