ฟังก์ชันCreateWindowสร้างหน้าต่างที่คาบเกี่ยวกัน ป็อปอัพ หรือเด็ก ระบุหน้าต่างชั้น ชื่อเรื่องของหน้าต่าง ลักษณะของหน้าต่าง และ (ตัวเลือก) ตำแหน่งเริ่มต้น และขนาดของหน้าต่าง นอกจากนี้ฟังก์ชันยังระบุหลักของหน้าต่าง หรือเจ้า ของ ถ้ามี และเมนูของหน้าต่าง.
การใช้ลักษณะเพิ่มเติมนอกเหนือจากการลักษณะต่าง ๆ ได้รับการสนับสนุนโดยCreateWindowใช้ฟังก์ชันCreateWindowExแทนการใช้CreateWindow.
(HWND CreateWindow LPCTSTR lpClassName, / / ชี้เพื่อลงทะเบียนชื่อคลาสLPCTSTRlpWindowName, / / ชี้ไปที่ชื่อของหน้าต่างDWORDdwStyle, / / ลักษณะหน้าต่างint x, / / แนวนอนตำแหน่งของหน้าต่าง int y, / / แนวตั้งตำแหน่งของหน้าต่าง intnWidth, / / ความกว้างของหน้าต่าง intnHeight, / / ความสูงของหน้าต่างHWNDhWndParent, / / จัดการหน้าต่างหลักหรือเจ้าของHMENUhMenu, / / จัดการกับตัวบ่งชี้ที่เมนูหรือหน้าต่างลูกจัดการhInstance, / / จัดการกับอินสแตนซ์ของแอพลิเคชันLPVOIDlpParam / / ชี้ไปยังหน้าต่างสร้างข้อมูล);
ถ้า สตริlpClassNameระบุชื่อคลาสหน้าต่าง ชื่อคลาสสามารถเป็นชื่อลงทะเบียนกับฟังก์ชันRegisterClassExหรือชื่อคลาสตัวควบคุมที่กำหนดไว้ล่วงหน้าใด ๆ สำหรับรายการที่สมบูรณ์ ดูข้อสังเกต.
ถ้าลักษณะของหน้าต่างระบุในแถบชื่อเรื่อง ชื่อเรื่องของหน้าต่างตัวชี้ไปตามlpWindowNameถูกแสดงในแถบชื่อเรื่อง เมื่อใช้CreateWindowเพื่อสร้างตัวควบคุม เช่นปุ่ม กล่องกาเครื่องหมาย และ ควบคุมคง ใช้lpWindowNameเพื่อระบุข้อความของตัวควบคุม.
| ลักษณะ | ความหมาย |
|---|---|
| WS_BORDER | สร้างหน้าต่างที่มีเส้นขอบแบบบางบรรทัด. |
| WS_CAPTION | สร้างหน้าต่างที่มีแถบชื่อเรื่อง (รวมลักษณะ WS_BORDER). |
| WS_CHILD | สร้างหน้าต่างลูก ลักษณะนี้ไม่สามารถใช้กับลักษณะ WS_POPUP. |
| WS_CHILDWINDOW | เหมือนกับลักษณะ WS_CHILD. |
| WS_CLIPCHILDREN | แยกพื้นที่ว่าง โดยเด็ก windows เมื่อวาดภายในหน้าต่างหลัก ลักษณะนี้จะใช้เมื่อสร้างหน้าต่างหลัก. |
| WS_CLIPSIBLINGS | คลิปลูก windows สัมพันธ์กับผู้อื่น นั่นคือ เมื่อหน้าต่างเฉพาะลูกรับการ WM_PAINTความ ลักษณะ WS_CLIPSIBLINGS คลิปทั้งหมดอื่นเด็กหน้าต่างที่ซ้อนกันของพื้นที่ของหน้าต่างลูกให้ปรับปรุง ถ้าไม่มีระบุ WS_CLIPSIBLINGS และซ้อนทับเด็ก windows เป็นไปได้ เมื่อวาดภายในพื้นที่ไคลเอ็นต์ของหน้าต่างลูก การวาดภายในพื้นที่ไคลเอ็นต์ของหน้าต่างลูกใกล้เคียง. |
| WS_DISABLED | สร้างหน้าต่างที่ถูกปิดใช้งานตั้งแต่เริ่มแรก หน้าต่างถูกปิดใช้งานไม่สามารถรับการป้อนข้อมูลจากผู้ใช้. |
| WS_DLGFRAME | สร้างหน้าต่างที่มีเส้นขอบของลักษณะโดยทั่วไปจะใช้กับกล่องโต้ตอบ หน้าต่างที่ มีลักษณะนี้ไม่มีแถบชื่อเรื่อง. |
| WS_GROUP | ระบุตัวควบคุมแรกของกลุ่มของตัวควบคุม กลุ่มประกอบด้วยตัวควบคุมแรกนี้และตัวควบคุมทั้งหมดที่กำหนดหลังจากที่มัน ถึงตัวควบคุมถัดไปด้วยลักษณะ WS_GROUP โดยปกติตัวควบคุมแรกในแต่ละกลุ่มมีลักษณะ WS_TABSTOP เพื่อให้ผู้ใช้สามารถย้ายจากกลุ่มไปยังกลุ่ม ผู้ใช้สามารถในภายหลังเปลี่ยนโฟกัสแป้นพิมพ์จากตัวควบคุมหนึ่งตัวในกลุ่มตัวควบคุมถัดไปในกลุ่ม โดยใช้แป้นทิศทาง. |
| WS_HSCROLL | สร้างหน้าต่างที่มีแถบเลื่อนแนวนอน. |
| WS_ICONIC | สร้างหน้าต่างที่ถูกย่อเล็กสุดเริ่มต้นด้วย เหมือนกับลักษณะ WS_MINIMIZE. |
| WS_MAXIMIZE | สร้างหน้าต่างที่เริ่มขยายให้ใหญ่สุด. |
| WS_MAXIMIZEBOX | สร้างหน้าต่างที่มีปุ่มขยายใหญ่สุด ไม่สามารถรวมกับลักษณะ WS_EX_CONTEXTHELP ลักษณะ WS_SYSMENU ต้องยังระบุ. |
| WS_MINIMIZE | สร้างหน้าต่างที่ถูกย่อเล็กสุดเริ่มต้นด้วย เหมือนกับลักษณะ WS_ICONIC. |
| WS_MINIMIZEBOX | สร้างหน้าต่างที่มีปุ่มย่อเล็กสุด ไม่สามารถรวมกับลักษณะ WS_EX_CONTEXTHELP ลักษณะ WS_SYSMENU ต้องยังระบุ. |
| WS_OVERLAPPED | สร้างหน้าต่างที่คาบเกี่ยวกัน วินโดว์ที่คาบเกี่ยวกันได้แถบชื่อเรื่องและเส้นขอบ เหมือนกับลักษณะ WS_TILED. |
| WS_OVERLAPPEDWINDOW | สร้างหน้าต่างที่คาบเกี่ยวกันที่ มีลักษณะ WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX และ WS_MAXIMIZEBOX เหมือนกับลักษณะ WS_TILEDWINDOW. |
| WS_POPUP | สร้างหน้าต่างแบบผุดขึ้น ลักษณะนี้ไม่สามารถใช้กับลักษณะ WS_CHILD. |
| WS_POPUPWINDOW | สร้างหน้าต่างแบบผุดขึ้นกับลักษณะ WS_BORDER, WS_POPUP และ WS_SYSMENU ลักษณะ WS_CAPTION และ WS_POPUPWINDOW ต้องถูกรวมในการทำให้เมนูหน้าต่างมองเห็น. |
| WS_SIZEBOX | สร้างหน้าต่างที่มีเส้นขอบสำหรับปรับขนาด เหมือนกับลักษณะ WS_THICKFRAME. |
| WS_SYSMENU | สร้างหน้าต่างที่มีเมนูหน้าต่างบนแถบชื่อเรื่องของ ลักษณะ WS_CAPTION ต้องยังระบุ. |
| WS_TABSTOP | ระบุตัวควบคุมที่สามารถรับโฟกัสแป้นพิมพ์เมื่อผู้ใช้กดแป้น tab กดแป้น tab เปลี่ยนโฟกัสแป้นพิมพ์ตัวควบคุมถัดไปด้วยลักษณะ WS_TABSTOP. |
| WS_THICKFRAME | สร้างหน้าต่างที่มีเส้นขอบสำหรับปรับขนาด เหมือนกับลักษณะ WS_SIZEBOX. |
| WS_TILED | สร้างหน้าต่างที่คาบเกี่ยวกัน วินโดว์ที่คาบเกี่ยวกันได้แถบชื่อเรื่องและเส้นขอบ เหมือนกับลักษณะ WS_OVERLAPPED. |
| WS_TILEDWINDOW | สร้างหน้าต่างที่คาบเกี่ยวกันที่ มีลักษณะ WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX และ WS_MAXIMIZEBOX เหมือนกับลักษณะ WS_OVERLAPPEDWINDOW. |
| WS_VISIBLE | สร้างหน้าต่างที่เริ่มปรากฏให้เห็น. |
| WS_VSCROLL | สร้างหน้าต่างที่มีแถบเลื่อนแนวตั้ง. |
ถ้าพารามิเตอร์นี้ถูกกำหนดเป็น CW_USEDEFAULT ระบบเลือกตำแหน่งเริ่มต้นสำหรับมุมบนซ้ายของหน้าต่าง และละเว้นพารามิเตอร์y CW_USEDEFAULT ใช้ได้เฉพาะกับ windows ที่คาบเกี่ยวกัน ถ้ามีระบุสำหรับ เป็นป๊อปอัพหรือเด็กหน้าต่างxและyพารามิเตอร์ถูกกำหนดเป็นศูนย์.
ถ้าหน้าต่างที่คาบเกี่ยวกันถูกสร้างขึ้น ด้วยการตั้งค่าบิตลักษณะ WS_VISIBLE และ CW_USEDEFAULT ถูกตั้งค่าพารามิเตอร์xระบบละเว้นพารามิเตอร์y.
Windows NT 5.0 และรุ่นใหม่กว่า: สร้างหน้าต่างข้อความเดียว ใส่ HWND_MESSAGE หรือจับกับหน้าต่างข้อความเดียวมีอยู่.
ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับเป็นจับไปหน้าต่างใหม่.
ถ้าฟังก์ชันล้มเหลว ส่งคืนค่าเป็น NULL การขอเพิ่มเติมข้อมูลข้อผิดพลาด โทร GetLastError.
ก่อนที่จะกลับCreateWindowส่งข้อความWM_CREATEลงในกระบวนงานของหน้าต่าง สำหรับคาบ หน้าต่างแบบผุดขึ้น และ windows เด็กCreateWindowส่งข้อความWM_CREATE, WM_GETMINMAXINFOและWM_NCCREATEไปหน้าต่าง พารามิเตอร์lParam WM_CREATEข้อความประกอบด้วยตัวชี้ไปยังโครงสร้างแบบCREATESTRUCT ถ้ามีระบุลักษณะ WS_VISIBLE, CreateWindowส่งหน้าต่างข้อความทั้งหมดจำเป็นต้องเปิดใช้งาน และแสดงหน้าต่าง.
ดูข้อมูลในการควบคุมว่า แถบงานแสดงปุ่มสำหรับหน้าต่างสร้าง มองเห็นปุ่มแถบงาน.
คลาสที่กำหนดไว้ล่วงหน้าควบคุมต่อไปนี้สามารถระบุในพารามิเตอร์lpClassName หมายเหตุตัวควบคุมที่สอดคล้องกันลักษณะคุณสามารถใช้พารามิเตอร์dwStyle.
| คลาส | ความหมาย |
|---|---|
| ปุ่ม | แสดงว่าหน้าต่างลูกที่สี่เหลี่ยมขนาดเล็กที่แสดงเป็นปุ่มที่ผู้ใช้สามารถคลิเมื่อต้องการเปิด หรือปิด ปุ่มควบคุมสามารถใช้คนเดียว หรือ เป็นกลุ่ม และพวกเขาก็มีป้าย หรือปรากฏ โดยไม่มีข้อความ โดยปกติตัวควบคุมปุ่มเปลี่ยนลักษณะที่ปรากฏเมื่อผู้ใช้คลิกที่เหล่านั้น ดูข้อมูลเพิ่มเติมปุ่ม. |
| ตารางลักษณะปุ่มคุณสามารถระบุในพารามิเตอร์dwStyleดูลักษณะของปุ่ม. | |
| COMBOBOX | กำหนดตัวควบคุมประกอบด้วยกล่องรายการและเขตข้อมูลเลือกเหมือนกับตัวควบคุมการแก้ไข เมื่อต้องการใช้ลักษณะนี้ แอปพลิเคชันควรแสดงกล่องรายการตลอดเวลา หรือกล่องรายการแบบหล่นลงที่เปิดใช้งาน ถ้ากล่องรายการจะมองเห็นได้ การพิมพ์อักขระลงในเขตข้อมูลเลือกเน้นรายการกล่องรายการแรกที่ตรงกับอักขระที่พิมพ์ ในทางกลับกัน การเลือกรายการในกล่องรายการแสดงข้อความที่เลือกในฟิลด์การเลือก สำหรับข้อมูลเพิ่มเติม ให้ดูกล่องคำสั่งผสม. |
| ตารางลักษณะกล่องคำสั่งผสมคุณสามารถระบุในพารามิเตอร์dwStyleดูลักษณะของกล่องคำสั่งผสม. | |
| แก้ไข | แสดงว่าหน้าต่างสี่เหลี่ยมลูกที่ผู้ใช้สามารถพิมพ์ข้อความจากแป้นพิมพ์ ผู้ใช้เลือกตัวควบคุม และให้โฟกัสแป้นพิมพ์ โดยการคลิก หรือย้ายไปได้ โดยการกดแป้น tab ผู้ใช้สามารถพิมพ์ข้อความเมื่อตัวควบคุมการแก้ไขแสดงตัวชี้เมื่อกะพริบ ใช้เมาส์เพื่อย้ายเคอร์เซอร์ อักขระที่เลือกจะถูกแทน หรือวางตำแหน่งเคอร์เซอร์สำหรับการแทรกอักขระ หรือใช้แป้นพิมพ์ backspace ในการลบอักขระ สำหรับข้อมูลเพิ่มเติม ให้ดูตัวควบคุมการแก้ไข. |
| สำหรับตารางของลักษณะตัวควบคุมการแก้ไขคุณสามารถระบุในพารามิเตอร์dwStyleดูลักษณะการควบคุมการแก้ไข. | |
| กล่องรายการ | แสดงว่ารายชื่อของสายอักขระที่มีอักขระ ระบุตัวควบคุมนี้เมื่อใดก็ ตามที่โปรแกรมประยุกต์ต้องนำเสนอรายชื่อ เช่นชื่อแฟ้ม ซึ่งผู้ใช้สามารถเลือก ผู้ใช้สามารถเลือกสาย โดยการคลิก สายอักขระที่เลือกจะถูกเน้น และข้อความแจ้งเตือนจะถูกส่งไปยังหน้าต่างหลัก สำหรับข้อมูลเพิ่มเติม ให้ดูกล่องรายการ. |
| ตารางลักษณะกล่องรายการคุณสามารถระบุในพารามิเตอร์dwStyleดูรายการกล่องลักษณะ. | |
| MDICLIENT | แสดงว่าหน้าต่างไคลเอ็นต์ MDI หน้าต่างนี้ได้รับข้อความที่ควบคุม windows ลูก MDI ของโปรแกรมประยุกต์ บิตการแนะนำลักษณะมี WS_CLIPCHILDREN และ WS_CHILD ระบุลักษณะ WS_HSCROLL และ WS_VSCROLL เพื่อสร้างหน้าต่างไคลเอ็นต์ MDI ที่อนุญาตให้ผู้ใช้สามารถเลื่อน windows ลูก MDI ลงในมุมมอง สำหรับข้อมูลเพิ่มเติม ให้ดูหลายเอกสาร Interface. |
| RichEdit | แสดงว่าตัวควบคุมรุ่น 1.0 Rich Edit หน้าต่างนี้ช่วยให้ผู้ใช้มุมมอง และแก้ไขข้อความที่ มีอักขระและการจัดรูปแบบย่อหน้า และสามารถรวมวัตถุ COM สำหรับข้อมูลเพิ่มเติม ให้ดูตัวควบคุมการแก้ไข Rich. |
| ตารางลักษณะตัวควบคุมแก้ไขรวยคุณสามารถระบุในพารามิเตอร์dwStyleดูลักษณะตัวควบคุมการแก้ไข Rich. | |
| RICHEDIT_CLASS | แสดงว่าตัวควบคุมรุ่น 2.0 Rich Edit ตัวควบคุมนี้ให้มุมมองผู้ใช้ และแก้ไขข้อความที่ มีอักขระและการจัดรูปแบบย่อหน้า และสามารถรวมวัตถุ COM สำหรับข้อมูลเพิ่มเติม ให้ดูตัวควบคุมการแก้ไข Rich. |
| ตารางลักษณะตัวควบคุมแก้ไขรวยคุณสามารถระบุในพารามิเตอร์dwStyleดูลักษณะตัวควบคุมการแก้ไข Rich. | |
| แถบเลื่อน | กำหนดกรอบสี่เหลี่ยมที่ประกอบด้วยกล่องเลื่อน และมีทิศทางของลูกศรที่ปลายทั้งสองด้าน แถบเลื่อนส่งข้อความแจ้งเตือนไปยังหน้าต่างของแม่เมื่อใดก็ ตามที่ผู้ใช้คลิกตัวควบคุม หน้าต่างหลักรับผิดชอบสำหรับการปรับปรุงตำแหน่งของกล่องเลื่อน ถ้าจำเป็น สำหรับข้อมูลเพิ่มเติม เห็นแถบเลื่อน. |
| สำหรับตารางของลักษณะตัวควบคุมแถบเลื่อนคุณสามารถระบุในพารามิเตอร์dwStyleดูลักษณะการควบคุมแถบเลื่อน. | |
| คง | กำหนดเขตข้อมูลข้อความธรรมดา กล่อง หรือสี่เหลี่ยมผืนผ้าที่ใช้ในการตั้งชื่อ กล่อง หรือแยกตัวควบคุมอื่น ๆ ควบคุมคงใช้เวลาไม่ และให้ผลผลิตไม่ ดูข้อมูลเพิ่มเติมการควบคุมแบบ Static. |
| ตารางควบคุมคงลักษณะคุณสามารถระบุในพารามิเตอร์dwStyleดูลักษณะการควบคุมแบบ Static. |
Windows 95:ระบบสามารถรองรับได้สูงสุดของหมายเลขอ้างอิงหน้าต่าง 16,364.
หมายเหตุ  ถ้าคุณระบุ Windows รุ่น 4.x เมื่อการเชื่อมโยงโปรแกรมประยุกต์ของคุณ windows นั้นไม่สามารถมีปุ่มคำอธิบายยกเว้นว่าพวกเขายังมีเมนูหน้าต่าง นี่ไม่ใช่ความต้องการถ้าคุณระบุ Windows รุ่น 3.x เมื่อการเชื่อมโยงโปรแกรมประยุกต์ของคุณ.
Windows CE: CreateWindowถูกนำมาใช้เป็นแมโคร มันถูกกำหนดเป็นCreateWindowExแต่ มีพารามิเตอร์dwExStyleตั้งค่าเป็น 0 L.
แถบเมนูจะไม่ได้รับการสนับสนุน พารามิเตอร์hMenuต้องเป็นค่า NULL นอกจากนั้นถูกใช้เป็นตัวระบุหน้าต่างลูก.
คลาสหน้าต่าง MDICLIENT ไม่ได้รับการสนับสนุน.
พารามิเตอร์dwStyleอาจเป็นการรวมกันของลักษณะหน้าต่าง และการควบคุมลักษณะที่มีการระบุไว้ใน:
กล่องโต้ตอบ
Windows
ตัวควบคุม
ค่าสถานะdwStyleต่อไปนี้ไม่มีสนับสนุนสำหรับ windows:
| WS_CHILDWINDOW | WS_ICONIC |
| WS_MAXIMIZE | WS_MAXIMIZEBOX |
| WS_MINIMIZE | WS_MINIMIZEBOX |
| WS_OVERLAPPEDWINDOW | WS_POPUPWINDOW |
| WS_SIZEBOX | WS_THICKFRAME |
| WS_TILED | WS_TILEDWINDOW |
ค่าสถานะdwStyleต่อไปนี้ไม่สามารถใช้สำหรับควบคุมและกล่องโต้ตอบ:
| ลักษณะของปุ่มที่ไม่สนับสนุน | ลักษณะของตัวควบคุมแบบคงที่ไม่สนับสนุน |
| BS_LEFTTEXT | SS_BLACKFRAME |
| BS_MULTILINE | SS_GRAYFRAME |
| BS_TEXT | SS_METAPICT |
| BS_USERBUTTON | SS_SIMPLE |
| ลักษณะของกล่องคำสั่งผสมที่ไม่สนับสนุน | SS_WHITERECT |
| CBS_OWNERDRAWFIXED | SS_BLACKRECT |
| CBS_OWNERDRAWVARIABLE | SS_GRAYRECT |
| CBS_SIMPLE | SS_RIGHTIMAGE |
| ลักษณะการควบคุมกล่องรายการที่ไม่สนับสนุน | SS_WHITEFRAME |
| LBS_NODATA | ลักษณะของกล่องโต้ตอบที่ไม่สนับสนุน |
| LBS_OWNERDRAWFIXED | DS_ABSALIGN |
| LBS_OWNERDRAWVARIABLE | DS_CENTERMOUSE |
| LBS_STANDARD | DS_CONTEXTHELP |
| ลักษณะแถบเลื่อนที่ไม่สนับสนุน | DS_FIXEDSYS |
| SBS_BOTTOMALIGN | DS_NOFAILCREATE |
| SBS_RIGHTALIGN | DS_NOIDLEMSG |
| SBS_SIZEBOXBOTTOMRIGHTALIGN | DS_SYSMODAL |
| SBS_SIZEGRIP |
คุณสามารถใช้ลักษณะ BS_OWNERDRAW แทนลักษณะ BS_USERBUTTON.
คุณสามารถใช้ลักษณะ SS_LEFT หรือ SS_LEFTNOWORDWRAP แทนลักษณะ SS_SIMPLE สำหรับตัวควบคุมแบบสแตติก..
คลาสหน้าต่าง MDICLIENT ไม่ได้รับการสนับสนุน.
ทั้งหมดมีลักษณะ WS_CLIPSIBLINGS และ WS_CLIPCHILDREN โดยปริยาย.
Windows CE 1.0 ไม่สนับสนุน windows เป็น ยกเว้นสำหรับกล่องโต้ตอบ ถ้าพารามิเตอร์hwndParentไม่ใช่ NULL หน้าต่างเป็นนัยให้ลักษณะ WS_CHILD.
Windows CE รุ่น 1.0 ไม่สนับสนุนแถบเมนู.
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib
Unicode:นำมาใช้เป็น Unicode และ ANSI รุ่นบน Windows NT.
ภาพรวมของ Windowsหน้าต่างฟังก์ชัน CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT