โครงสร้างของWNDCLASSประกอบด้วยแอตทริบิวต์คลาหน้าต่างที่ถูกลงทะเบียน โดยฟังก์ชันRegisterClass.
โครงสร้างนี้ได้ถูกแทนที่ โดยโครงสร้างของWNDCLASSEXที่ใช้กับฟังก์ชันRegisterClassEx คุณยังสามารถใช้WNDCLASSและRegisterClassถ้าคุณไม่ต้องการตั้งค่าเกี่ยวข้องกับคลาสหน้าต่างไอคอนขนาดเล็ก.
typedef struct _WNDCLASS { UINT ลักษณะ
WNDPROC lpfnWndProc
int cbClsExtra
int cbWndExtra
หมายเลขอ้างอิง hInstance
HICON hIcon
HCURSOR hCursor
HBRUSH hbrBackground
LPCTSTR lpszMenuName
LPCTSTR lpszClassName
} WNDCLASS
| ค่า | กระทำ |
|---|---|
| CS_BYTEALIGNCLIENT | จัดตำแหน่งพื้นที่ไคลเอ็นต์ของหน้าต่างบนขอบเขตไบต์ (ในทิศทางที่ x) ลักษณะนี้มีผลต่อความกว้างของหน้าต่างและตำแหน่งแนวนอนบนจอแสดง. |
| CS_BYTEALIGNWINDOW | จัดหน้าต่างบนขอบไบต์ (ในทิศทางที่ x) ลักษณะนี้มีผลต่อความกว้างของหน้าต่างและตำแหน่งแนวนอนบนจอแสดง. |
| CS_CLASSDC | จัดสรรบริบทอุปกรณ์หนึ่งสามารถใช้ร่วมกัน โดยใช้ windows ทั้งหมดในชั้นเรียน เนื่องจากคลาสหน้าต่างเป็นกระบวนการเฉพาะ เป็นไปได้สำหรับหัวข้อต่าง ๆ ของโปรแกรมประยุกต์สร้างหน้าต่างของชั้นเดียวกัน ก็ยังเป็นไปได้สำหรับหัวข้อในการพยายามจะใช้บริบทอุปกรณ์พร้อมกัน เมื่อเกิดเหตุการณ์ ระบบจะอนุญาตให้เพียงหนึ่งเธรดการสำเร็จเสร็จสิ้นการดำเนินการของรูปวาด ดูข้อมูลเพิ่มเติม บริบทอุปกรณ์. |
| CS_DBLCLKS | ส่งคลิกสองครั้งข้อความลงในกระบวนงานของหน้าต่างเมื่อผู้ใช้ดับเบิลคลิเมาส์ในขณะที่เคอร์เซอร์วางอยู่ภายในหน้าต่างของชั้น. |
| CS_GLOBALCLASS | อนุญาตให้โปรแกรมประยุกต์สร้างหน้าต่างของระดับชั้นที่คำนึงถึงค่าของพารามิเตอร์hInstanceถูกส่งผ่านไปยังCreateWindowหรือCreateWindowExฟังก์ชัน ถ้าคุณไม่ระบุลักษณะนี้hInstanceพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชันCreateWindow (หรือCreateWindowEx) จะต้องเหมือนกันเป็นพารามิเตอร์hInstanceถูกส่งผ่านไปยังฟังก์ชันRegisterClass. |
| คุณสามารถสร้างชั้นส่วนกลาง โดยการสร้างหน้าต่างชั้นใน 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.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
Unicode:กำหนดเป็นโครงสร้างแบบ Unicode และ ANSI.
Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT