Как задать максимальное число символов в 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);
}
}
|