本文转载自:VC驿站
https://www.cctry.com/thread-297423-1-1.html
1、设置编辑框控件内的文本内容:
TCHAR szText[] = _T("hello world.");
::SendMessage(::GetDlgItem(m_hWnd, IDC_EDIT1), WM_SETTEXT, 0, (LPARAM)szText);
::SetDlgItemText(m_hWnd, IDC_EDIT1, szText);
GetDlgItem(IDC_EDIT1)->SetWindowText(szText);
SetDlgItemText(IDC_EDIT1, szText);
m_Edit.SetWindowText(szText);
以上任意一种方法都可以实现。
2、获取编辑框控件内的文本内容:
const DWORD dwCopyLen = MAX_PATH;
TCHAR szText[dwCopyLen] = { 0 };
::SendMessage(::GetDlgItem(m_hWnd, IDC_EDIT1), WM_GETTEXT, (WPARAM)dwCopyLen, (LPARAM)szText);
::GetDlgItemText(m_hWnd, IDC_EDIT1, szText, MAX_PATH);
::GetWindowText(::GetDlgItem(m_hWnd, IDC_EDIT1), szText, MAX_PATH);
CString strText;
m_Edit.GetWindowText(strText);
以上任意一种方法都可以实现。
3、编辑框控件的属性介绍:
a、让编辑框文本为只读模式;
b、让编辑框文本为密码模式;
d、让编辑框支持多行显示,即:自动换行;
e、让编辑框显示滚动条;
f、让编辑框只能接受数字输入;
g、让编辑框只能输入指定范围的数组;
h、如果还有其他方面的限制要求,那只能是利用接下来要讲解的事件通知的方式来处理了。
4、事件通知:
a、当编辑框内的文本内容发生变化时通知我,响应 EN_CHANGE 事件;
5、向编辑框的结尾增加数据:
TCHAR szMsg[] = _T("hello world.\r\n");
int iLen = m_Edit.GetWindowTextLength();
m_Edit.SetSel(iLen, iLen, TRUE);
m_Edit.ReplaceSel(szMsg, FALSE);
6、始终显示最新的数据(光标定位到文本结尾):
m_Edit.SetFocus();
m_Edit.SetSel(-1);
7、编辑框控件的长度限制:
默认情况下编辑框控件的文本长度有限制,大家可以调用这个函数获取一下:
UINT nLimitLen = m_Edit.GetLimitText();
看到多少了吧?要解除这个限制呢,或者改成更大一些?
m_Edit.SetLimitText(0);
8、小作业:
只读属性的编辑框是灰色的,如何搞成是只读但不是灰色的呢?
9、开源控件类:
https://www.codeproject.com/Arti ... ol-with-web-like-pr
https://www.codeproject.com/Arti ... -with-Browse-Button
https://www.codeproject.com/Arti ... s-RichEdit-Controls
备注:具体操作见视频教程讲解与演示!
第5课免费试看,下载地址: