ข้อความที่ถูกจัดคิว

ระบบสามารถแสดงหมายเลขใด ๆ ของ windows ครั้ง กระบวนการผลิตเมาส์และแป้นพิมพ์ที่ป้อนในหน้าต่างที่เหมาะสม ระบบใช้คิวข้อความ.

ระบบเก็บคิวข้อความระบบเดียวและหมายเลขใด ๆ ของเธรดคิวข้อความ หนึ่งสำหรับแต่ละหัวข้อของ GUI เพื่อหลีกเลี่ยงค่าใช้จ่ายในการสร้างคิวข้อความสำหรับหัวข้อไม่ใช่ GUI เธรดทั้งหมดถูกสร้างขึ้นตอนแรกไม่ มีคิวข้อความ ระบบสร้างคิวข้อความของเธรดเมื่อหัวข้อการทำให้เป็นสายแรกของฟังก์ชันผู้ใช้ Win32 หรือ GDI เท่านั้น.

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

ยกเว้นการ WM_PAINTความ ระบบเสมอลงข้อความท้ายของคิวข้อความ นี้ช่วยให้แน่ใจว่า หน้าต่างได้รับข้อความการป้อนข้อมูลลำดับที่เหมาะสมก่อนใน first-out (FIFO) ความ WM_PAINT อย่างไรก็ตาม จะถูกเก็บในคิว และส่งต่อไปยังกระบวนงานหน้าต่างเท่านั้นเมื่อคิวประกอบด้วยข้อความอื่น ๆ ไม่มี หลายข้อความ WM_PAINT สำหรับหน้าต่างเดียวกันจะรวมกันเป็น WM_PAINT ความเดียว รวบรวมทุกส่วนที่ไม่ถูกต้องของไคลเอ็นต์พื้นที่เข้ากับพื้นที่เดียว รวมข้อความ WM_PAINT ที่ช่วยลดจำนวนครั้งที่หน้าต่างต้องออกตั๋วใหม่เนื้อหาของพื้นที่ของไคลเอ็นต์.

ระบบบทความของเธรดข้อความคิว โดยการกรอกข้อมูลที่มีโครงสร้างMSGแล้ว คัดลอกไปยังคิวข้อความ รวมข้อมูลในMSG : หมายเลขอ้างอิงของหน้าต่างที่ข้อความถูกต้อง ตัวระบุข้อความ พารามิเตอร์ข้อความสอง เวลาข้อความถูกลงรายการบัญชี และตำแหน่งที่เคอร์เซอร์ของเมาส์ ด้ายสามารถประกาศข้อความไป ยังคิวข้อความของตนเอง หรือ ลงในคิวของเธรดอื่น โดยใช้ฟังก์ชันPostMessageหรือPostThreadMessage.

แอปพลิเคชันสามารถเอาข้อความจากคิวของ โดยใช้ฟังก์ชันGetMessage การตรวจสอบข้อความโดยไม่ต้องเอาออกจากคิวของ แอปพลิเคชันสามารถใช้ฟังก์ชันPeekMessage ฟังก์ชันนี้กรอกMSGด้วยข้อมูลเกี่ยวกับข้อความ.

หลังจากเอาข้อความออกจากคิวของ แอปพลิเคชันสามารถใช้ฟังก์ชันDispatchMessageเพื่อนำระบบการส่งข้อความไปยังกระบวนงานหน้าต่างสำหรับการประมวลผล DispatchMessageใช้ตัวชี้การMSGที่เติม โดยการเรียกฟังก์ชันGetMessageหรือPeekMessageก่อนหน้านี้ DispatchMessageผ่านหมายเลขอ้างอิงหน้าต่าง ตัวระบุข้อความ และพารามิเตอร์ข้อความสองลงในกระบวนงานของหน้าต่าง แต่มันไม่ผ่านเวลาข้อความถูกลงรายการบัญชี หรือตำแหน่งเคอร์เซอร์เมาส์ แอปพลิเคชันสามารถเรียกดูข้อมูลนี้ ด้วยการเรียกฟังก์ชันGetMessageTimeและGetMessagePosขณะประมวลผลข้อความ.

ด้ายสามารถใช้ฟังก์ชันWaitMessageเพื่อควบคุมไปยังหัวข้ออื่น ๆ เมื่อมีข้อความที่ไม่มีในคิวของข้อความ ฟังก์ชันทำหัวข้อ และไม่ส่งกลับจนกว่าข้อความใหม่ถูกวางในคิวข้อความของเธรด.

คุณสามารถเรียกใช้ฟังก์ชันSetMessageExtraInfoการเชื่อมโยงค่า 32 บิตกับคิวข้อความของเธรดปัจจุบัน แล้ว เรียกใช้ฟังก์ชันGetMessageExtraInfoเพื่อให้ได้ค่าที่สัมพันธ์กับข้อความสุดท้ายที่ดึงข้อมูล โดยฟังก์ชันGetMessageหรือPeekMessage.

Index