반응형
SetLimitText는 길이만 제한되고 바이트 단위로 제한 안됨.
하지만 한글은 2byte character.
에디트에 UM_UPDATE추가
void CMyClass::OnEnUpdateEditMyEdit() { UpdateData(TRUE); CString strReturn = ""; m_edMyEdit.GetWindowText(strReturn); INT nMaxLen = MultiByteToWideChar(CP_UTF8, 0, strReturn, -1, NULL, 0); if (nMaxLen > (MAXLEN + 1) && m_nIndex != 1) { DWORD dwSel = m_edMyEdit.GetSel(); m_edMyEdit.SetWindowText(m_strOld); m_edMyEdit.SetSel(HIWORD(dwSel), HIWORD(dwSel)); } else { m_strOld = strReturn; } UpdateData(FALSE); }
반응형