《实用VC编程之玩转控件》第5课:Edit编辑框控件

本文转载自: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
《实用VC编程之玩转控件》第5课:Edit编辑框控件 

https://www.codeproject.com/Arti ... -with-Browse-Button
《实用VC编程之玩转控件》第5课:Edit编辑框控件 

https://www.codeproject.com/Arti ... s-RichEdit-Controls
《实用VC编程之玩转控件》第5课:Edit编辑框控件 


备注:具体操作见视频教程讲解与演示!

第5课免费试看,下载地址:

https://www.cctry.com/thread-297423-1-1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值