SetClassLong

ฟังก์ชันSetClassLongแทนที่ 32 บิต (ยาว) ค่าที่ระบุที่ออฟเซตที่ระบุลงในหน่วยความจำชั้นพิเศษหรือโครงสร้างWNDCLASSEXสำหรับหน้าต่างที่ระบุเป็นของชั้น.

(DWORD SetClassLong HWND  hWnd, / / จัดการของหน้าต่างintnIndex, / / ดัชนีค่าการเปลี่ยนแปลงความยาวdwNewLong / / ใหม่ค่า);
 

พารามิเตอร์

hWnd
จัดการหน้าต่างและ ทางอ้อม ชั้นที่หน้าต่างที่เป็นสมาชิก.
nIndex
ระบุค่า 32 บิตการแทน เมื่อต้องการตั้งค่า 32 บิตในหน่วยความจำพิเศษคลาส ระบุออฟเซ็ตบวก zero-based ไบต์ของค่าที่กำหนด ค่าที่ถูกต้องอยู่ในช่วงศูนย์ถึงจำนวนไบต์ของหน่วยความจำพิเศษคลาส ลบสี่ ตัวอย่างเช่น ถ้าคุณระบุอย่าง น้อย 12 ไบต์ของหน่วยความจำชั้นพิเศษ ค่า 8 จะดัชนีเป็นจำนวนเต็มที่ 32 บิตที่สาม เมื่อต้องการตั้งค่าอื่น ๆ จากโครงสร้างWNDCLASSEXระบุหนึ่งในค่าต่อไปนี้:
ค่า กระทำ
GCL_CBCLSEXTRA ตั้งค่าขนาด ไบต์ หน่วยความจำพิเศษที่เกี่ยวข้องกับการเรียน ตั้งค่านี้ไม่เปลี่ยนแปลงจำนวนไบต์ที่พิเศษที่ปันส่วนแล้ว.
GCL_CBWNDEXTRA ตั้งค่าขนาด ในไบต์ หน่วยความจำเพิ่มหน้าต่างเกี่ยวข้องกับแต่ละหน้าต่างในชั้นเรียน ตั้งค่านี้ไม่เป็นเปลี่ยนจำนวนไบต์ที่พิเศษที่ปันส่วนแล้ว สำหรับข้อมูลเกี่ยวกับวิธีการเข้าถึงหน่วยความจำนี้ ดู SetWindowLong.
GCL_HBRBACKGROUND แทนที่หมายเลขอ้างอิงของพื้นหลังแปรงที่เกี่ยวข้องกับการเรียน.
GCL_HCURSOR แทนที่หมายเลขอ้างอิงของเคอร์เซอร์เกี่ยวข้องกับการเรียน.
GCL_HICON แทนที่หมายเลขอ้างอิงของไอคอนที่เกี่ยวข้องกับการเรียน.
GCL_HMODULE แทนที่หมายเลขอ้างอิงของโมดูที่ลงทะเบียนเรียน.
GCL_MENUNAME แทนอยู่ของสตริงที่ชื่อเมนู สายอักขระระบุถึงทรัพยากรของเมนูเกี่ยวข้องกับการเรียน.
GCL_STYLE แทนบิตในสไตล์คลาสหน้าต่าง.
GCL_WNDPROC แทนที่อยู่ของกระบวนงานในหน้าต่างเกี่ยวข้องกับการเรียน.

dwNewLong
ระบุค่าทดแทน.

ส่งกลับค่า

ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับเป็นค่าก่อนหน้านี้ของ 32 บิตจำนวนเต็มที่ระบุ ถ้าการแก้ไขไม่เคยตั้งค่า ส่งคืนค่าเป็นศูนย์.

ถ้าฟังก์ชันล้มเหลว ส่งคืนค่าเป็นศูนย์ การขอเพิ่มเติมข้อมูลข้อผิดพลาด โทร GetLastError.

หมายเหตุ

ถ้าคุณใช้ฟังก์ชันSetClassLongและ GCL_WNDPROC ดัชนีการแทนกระบวนการหน้าต่าง กระบวนการหน้าต่างต้องสอดคล้องกับแนวทางระบุไว้ในคำอธิบายของฟังก์ชันการเรียกกลับWindowProc.

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

จองหน่วยความจำชั้นพิเศษ ด้วยการระบุค่าไม่ใช่ศูนย์ในสมาชิกcbClsExtraของโครงสร้างของWNDCLASSEXที่ใช้กับฟังก์ชันRegisterClassEx.

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

Windows CE: พารามิเตอร์nIndexเป็นไบต์ตรงข้าม แต่ต้องเป็นตัวคูณ 4 ไบต์ ไม่สนับสนุนการเข้าถึงที่ไม่.

ไม่มีมาตรฐาน GCL_ * ค่าได้รับการสนับสนุนในพารามิเตอร์nIndexด้วยข้อยกเว้นหนึ่ง ถ้าอุปกรณ์คุณกำลัง targetting สนับสนุนเคอร์เซอร์ของเมาส์ คุณสามารถใช้ค่า GCL_HCURSOR ในพารามิเตอร์nIndex.

หมายเหตุ Windows CE รุ่นที่สนับสนุนเคอร์เซอร์ของเมาส์ประกอบด้วยคอมโพเนนต์ Iconcurs และ Mcursor แทนที่เป็นไอคอนและเคอร์เซอร์คอมโพเนนต์.

QuickInfo

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

ดูเพิ่มเติม

หน้าต่างชั้นรวมหน้าต่างคลาสฟังก์ชัน GetClassLong, RegisterClassEx, SetWindowLong, WindowProc, WNDCLASSEX