Очень тщательно перекопал форум и Гугль но не нашел ответа на сабжевый вопрос. Везде пишут про ограничение текста в RichEdit а мне надо в простом Edit. Можно конечно сравнивать длину текста, отрезать последний символ и возвращать строку обратно однако это не достойно Истинного Воина Дзена Заранее премного благодарен за ответы.
The EM_SETLIMITTEXT message sets the text limit of an edit control. The text limit is the maximum amount of text, in TCHARs, that the user can type into the edit control. You can send this message to either an edit control or a rich edit control. For edit controls and Microsoft® Rich Edit 1.0, bytes are used. For Rich Edit 2.0 and later, characters are used. The EM_SETLIMITTEXT message is identical to the EM_LIMITTEXT message. Syntax To send this message, call the SendMessage function as follows. lResult = SendMessage( // returns LRESULT in lResult (HWND) hWndControl, // handle to destination control (UINT) EM_SETLIMITTEXT, // message ID (WPARAM) wParam, // = (WPARAM) () wParam; (LPARAM) lParam // = 0; not used, must be zero ); Parameters wParam Specifies the maximum number of TCHARs the user can enter. For ANSI text, this is the number of bytes; for Unicode text, this is the number of characters. This number does not include the null terminator. Rich edit controls: If this parameter is zero, the text length is set to 64,000 characters. Edit controls on Windows NT/2000/XP: If this parameter is zero, the text length is set to 0x7FFFFFFE characters for single-line edit controls or –1 for multiline edit controls. Edit controls on Windows 95/98/Me: If this parameter is zero, the text length is set to 0x7FFE characters for single-line edit controls or 0xFFFF for multiline edit controls. lParam This parameter is not used. Return Value This message does not return a value.
Код (Text): CASE uMsg OF WM_INITDIALOG : begin ........... SendDlgItemMessage(hDlg, IDC_EDIT1, EM_SETLIMITTEXT, 8, 0); end;
Спасибо за ответы! Ошибка была в том что я писал: SendDlgItemMessage(hDlg, IDC_EDIT1, EM_SETLIMITTEXT, 0, 8); вместо: SendDlgItemMessage(hDlg, IDC_EDIT1, EM_SETLIMITTEXT, 8, 0);