הגבלת המלל שמזין המשתמש

מגבלת ברירת המחדל כמות הטקסט שמשתמש יכול להזין בפקד העריכה הוא 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