โครงสร้างของWNDCLASSEXประกอบด้วยหน้าต่างชั้นข้อมูล การใช้RegisterClassExและGetClassInfoEx ฟังก์ชัน.
WNDCLASSEXโครงสร้างคล้ายกับโครงสร้างของWNDCLASS มีความแตกต่างของสอง WNDCLASSEXประกอบด้วยสมาชิกcbSizeซึ่งระบุขนาดของโครงสร้าง และสมาชิกhIconSmซึ่งประกอบด้วยหมายเลขอ้างอิงเป็นไอคอนขนาดเล็กที่เกี่ยวข้องกับคลาสหน้าต่าง.
typedef struct _WNDCLASSEX { UINT cbSize
UINT ลักษณะ
WNDPROC lpfnWndProc
int cbClsExtra
int cbWndExtra
หมายเลขอ้างอิง hInstance
HICON hIcon
HCURSOR hCursor
HBRUSH hbrBackground
LPCTSTR lpszMenuName
LPCTSTR lpszClassName
HICON hIconSm
} WNDCLASSEX
| ค่า | กระทำ |
|---|---|
| CS_BYTEALIGNCLIENT | จัดตำแหน่งพื้นที่ไคลเอ็นต์ของหน้าต่างบนขอบเขตไบต์ (ในทิศทางที่ x) ลักษณะนี้มีผลต่อความกว้างของหน้าต่างและตำแหน่งแนวนอนบนจอแสดง. |
| CS_BYTEALIGNWINDOW | จัดหน้าต่างบนขอบไบต์ (ในทิศทางที่ x) ลักษณะนี้มีผลต่อความกว้างของหน้าต่างและตำแหน่งแนวนอนบนจอแสดง. |
| CS_CLASSDC | จัดสรรบริบทอุปกรณ์หนึ่งสามารถใช้ร่วมกัน โดยใช้ windows ทั้งหมดในชั้นเรียน เนื่องจากคลาสหน้าต่างเป็นกระบวนการเฉพาะ เป็นไปได้สำหรับหัวข้อต่าง ๆ ของโปรแกรมประยุกต์สร้างหน้าต่างของชั้นเดียวกัน ก็ยังเป็นไปได้สำหรับหัวข้อในการพยายามจะใช้บริบทอุปกรณ์พร้อมกัน เมื่อเกิดเหตุการณ์ ระบบจะอนุญาตให้เพียงหนึ่งเธรดการสำเร็จเสร็จสิ้นการดำเนินการของรูปวาด ดูข้อมูลเพิ่มเติม บริบทอุปกรณ์. |
| CS_DBLCLKS | ส่งคลิกสองครั้งข้อความลงในกระบวนงานของหน้าต่างเมื่อผู้ใช้ดับเบิลคลิเมาส์ในขณะที่เคอร์เซอร์วางอยู่ภายในหน้าต่างของชั้น. |
| CS_GLOBALCLASS | อนุญาตให้โปรแกรมประยุกต์สร้างหน้าต่างของระดับชั้นที่คำนึงถึงค่าของพารามิเตอร์hInstanceถูกส่งผ่านไปยังฟังก์ชันCreateWindowEx ถ้าคุณไม่ระบุลักษณะนี้hInstanceพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชันCreateWindow (หรือCreateWindowEx) จะต้องเหมือนกันเป็นพารามิเตอร์hInstanceถูกส่งผ่านไปยังฟังก์ชันRegisterClassEx. |
| คุณสามารถสร้างชั้นส่วนกลาง โดยการสร้างหน้าต่างชั้นใน dynamic-link library (DLL) และชื่อของ DLL ในรีจิสตรีคีย์ต่อไปนี้ในการแสดงรายการ: | |
| HKEY_LOCAL_MACHINE\Software \Microsoft\Windows NT\ CurrentVersion\Windows\AppInit_DLLs |
|
| เมื่อใดก็ ตามที่เริ่มกระบวนการทำงาน ระบบโหลด Dll ที่ระบุในบริบทของกระบวนการเริ่มต้นใหม่ก่อนการเรียกฟังก์ชันจุดในกระบวนการนั้น DLL ต้องลงทะเบียนเรียนในระหว่างขั้นตอนการเตรียมใช้งาน และต้องระบุลักษณะ CS_GLOBALCLASS. | |
| CS_HREDRAW | Redraws หน้าต่างทั้งหมดถ้าการเคลื่อนย้ายหรือปรับขนาดความกว้างของพื้นที่ที่ไคลเอ็นต์การเปลี่ยนแปลง. |
| CS_NOCLOSE | ปิดปิดใช้งานบนเมนูหน้าต่าง. |
| CS_OWNDC | จัดสรรบริบทอุปกรณ์ที่ไม่ซ้ำกันสำหรับแต่ละหน้าต่างในชั้นเรียน ดูข้อมูลเพิ่มเติม บริบทอุปกรณ์. |
| CS_PARENTDC | ตั้งค่าพื้นที่รูปวาดของหน้าต่างลูกเป็นที่ของหน้าต่างหลักเพื่อให้เด็กสามารถวาดบนหลักการ หน้าต่างกับบิตลักษณะ CS_PARENTDC รับบริบทอุปกรณ์อย่างสม่ำเสมอจากแคชของบริบทอุปกรณ์ของระบบ มันไม่ให้เด็กผู้ปกครองบริบทอุปกรณ์หรือการตั้งค่าบริบทของอุปกรณ์ ระบุ CS_PARENTDC ช่วยเพิ่มประสิทธิภาพการทำงานของโปรแกรมประยุกต์ ดูข้อมูลเพิ่มเติม บริบทอุปกรณ์. |
| CS_SAVEBITS | บันทึก เป็นบิตแมป ส่วนของรูปหน้าจอการที่บดบัง โดยหน้าต่าง ระบบใช้บิตแมปที่บันทึกไว้เพื่อสร้างภาพในจอภาพเมื่อมีเอาหน้าต่าง ระบบแสดงบิตแมปที่ตำแหน่งเดิม และไม่มีส่ง WM_PAINTข้อความ windows บดบัง โดยหน้าต่าง หากหน่วยความจำที่ใช้บิตแมปได้ไม่ถูกละทิ้ง และกระทำหน้าจออื่น ๆ ได้ยกเลิกรูปเก็บไว้ ลักษณะนี้มีประโยชน์สำหรับหน้าต่างขนาดเล็ก (เช่น เมนูหรือกล่องโต้ตอบ) ที่มีแสดงสั้น ๆ แล้ว เอาออกก่อนที่กิจกรรมอื่น ๆ ของหน้าจอเกิดขึ้น ลักษณะนี้เพิ่มขึ้นในเวลาที่จำเป็นเพื่อแสดงหน้าต่าง เนื่องจากระบบต้องจัดสรรหน่วยความจำเพื่อจัดเก็บบิตแมปก่อน. |
| CS_VREDRAW | Redraws หน้าต่างทั้งหมดถ้าการเคลื่อนย้ายหรือปรับขนาดความสูงของพื้นที่ที่ไคลเอ็นต์การเปลี่ยนแปลง. |
COLOR_ACTIVEBORDER
COLOR_ACTIVECAPTION
COLOR_APPWORKSPACE
COLOR_BACKGROUND
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_BTNTEXT
COLOR_CAPTIONTEXT
COLOR_GRAYTEXT
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_INACTIVEBORDER
COLOR_INACTIVECAPTION
COLOR_MENU
COLOR_MENUTEXT
COLOR_SCROLLBAR
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_WINDOWTEXT
ระบบลบคลานมและขวดนมเบื้องหลังโดยอัตโนมัติเมื่อเรียนอยู่รอด แอปพลิเคชันไม่ควรลบเหล่านี้และขวดนม เนื่องจากอาจมีใช้คลาสได้ โดยหลายอินสแตนซ์ของโปรแกรมประยุกต์.
เมื่อสมาชิกนี้เป็น NULL โปรแกรมประยุกต์ต้องสีพื้นหลังของตัวเองทุกครั้งที่มีการร้องขอการระบายสีในพื้นที่ของไคลเอ็นต์ เพื่อตรวจสอบว่า เบื้องหลังต้องทาสี แอปพลิเคชันสามารถประมวลผลข้อความ WM_ERASEBKGND หรือสมาชิกfEraseของทดสอบ PAINTSTRUCTโครงสร้างที่ได้กรอกรายละเอียดตาม BeginPaintฟังก์ชัน.
ถ้า สตริlpszClassNameระบุชื่อคลาสหน้าต่าง.
nbsp Windows &NT:ต้องการรุ่น 3.5 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน winuser.h
Unicode:กำหนดเป็นโครงสร้างแบบ Unicode และ ANSI.
หน้าต่างชั้นรวมโครงสร้างของคลาสหน้าต่าง GetClassInfoEx, RegisterClassEx