จำกัดผู้ใช้ป้อนข้อความ

จำกัดจำนวนข้อความที่ผู้ใช้สามารถป้อนในตัวควบคุมการแก้ไขค่าเริ่มต้นคือ 32 กิโลไบต์ แอปพลิเคชันสามารถเปลี่ยนจำนวนของข้อความที่ผู้ใช้สามารถป้อนได้ โดยการส่งข้อความEM_SETLIMITTEXTของตัวควบคุม ข้อความนี้ตั้งค่าฮาร์ดดิสก์จำกัดจำนวนไบต์ที่ผู้ใช้สามารถป้อนลงในตัวควบคุมการแก้ไข แต่ส่งผลกระทบต่อทั้งข้อความที่มีอยู่แล้วในตัวควบคุมเมื่อข้อความถูกส่ง และข้อความที่คัดลอกตัวควบคุม โดยฟังก์ชันSetDlgItemTextหรือWM_SETTEXTข้อความไม่ ตัวอย่างเช่น สมมติว่า โปรแกรมประยุกต์ใช้ฟังก์ชันSetDlgItemTextเพื่อทำ 500 ไบต์ในตัวควบคุมการแก้ไข และนอกจากนี้ผู้ใช้จะป้อน 500 ไบต์ (ผลรวม 1000 ไบต์) ถ้าแอพลิเคชันแล้วส่งข้อความ EM_SETLIMITTEXT จำกัดข้อความที่ผู้ใช้ป้อนไบต์ 300 ไบต์ 1000 แล้วในตัวควบคุมการแก้ไขยังคงมีอยู่ และผู้ใช้ไม่สามารถเพิ่มข้อความเพิ่มเติมใด ๆ ในทางกลับกัน ถ้าแอพลิเคชันส่งข้อความ EM_SETLIMITTEXT จำกัดข้อความที่ผู้ใช้ป้อน 1300 ไบต์ ไบต์ 1000 ยังคง แต่ผู้ใช้สามารถเพิ่ม 300 เพิ่มเติมไบต์.

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

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

Index