1. 程式人生 > >MFC限制edit控制元件的字元輸入長度

MFC限制edit控制元件的字元輸入長度

1.Edit 控制元件新增EN_CHANGE事件

 

#define MAX_SIZE                     200 


void CMyDlg::OnChangeEditFeed()
{
    // TODO:  如果該控制元件是 RICHEDIT 控制元件,它將不
    // 傳送此通知,除非重寫 CDialogEx::OnInitDialog()
    // 函式並呼叫 CRichEditCtrl().SetEventMask(),
    // 同時將 ENM_CHANGE 標誌“或”運算到掩碼中。

    // TODO:  在此新增控制元件通知處理程式程式碼
CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT); CString strContent; pEdit->GetWindowText(strContent); DWORD dwNum = 0; dwNum = WideCharToMultiByte(CP_UTF8, 0, strContent, -1, NULL, 0, NULL, NULL); if (dwNum > MAX_SIZE) { SetDlgItemText(IDC_EDIT_FEED, strContent.Left(MAX_SIZE)); pEdit
->SetSel(strContent.GetLength(), strContent.GetLength());//重設給游標設定位置 指向最後 } }