MFC限制edit控制元件的字元輸入長度
阿新 • • 發佈:2018-12-05
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());//重設給游標設定位置 指向最後 } }