Как задать максимальное число символов в EditBox
|
Вариант1: CEdit::LimitText(int nChars = 0); CEdit::SetLimitText(UINT nMax); Вариант2: При помощи Class Wizard связать переменную CString с окошком редактирования и в Class Wizard установить максимальное количество символов. Затем добавить событие EN_CHANGE и в это событие добавить строку UpdateData(true). Вариант3: Обработать сообщение EN_CHANGE для окошка редактирования: void CMydlgDlg::OnChangeEdit4() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask.
// TODO: Add your control notification handler code here // int maxChars = 6; // Максимальное кол-во символов
CEdit *pWnd = (CEdit *)GetDlgItem(IDC_EDIT1); // замените Вашим ID // if (pWnd->GetWindowTextLength() > maxChars) { CString str; pWnd->GetWindowText(str); str = str.Left(maxChars); pWnd->SetWindowText(str); pWnd->SetSel(maxChars,-1); } } |