vc中edit控件使用总结
在程序中使用时如果只是简单的获取 edit控件内容,或设置简单的内容建议使用cstring类型成员变量。
示例:
CString m_strEdit;
//获得edit框内容
UpdateData(true);
此时m_strEdit就是edit框内容的字符串变量。
//要更新edit的话只要对m_strEdit进行赋值然后
UpdataData(false);//即可
示例:
CEdit m_ctrlEdit;
//将光标移到开头
m_ctrlEdit.SetSel(0,0);
//将光标移到末尾
m_ctrlEdit.SetSel(-1);
//选中所有内容
m_ctrlEdit.SetSel(0,-1);
//写入值
m_ctrlEdit.ReplaceSel("替换内容");
//得到当前edit框中的所有字符数
int iStart,iCount;//iCount 为字符数
m_ctrlEdit.SetSel(0,-1);
m_ctrlEdit.GetSel(iStart,iCount);
示例:
((CEdit*)GetDlgItem(IDC_EDIT)
他类似于上边的m_ctrlEdit
这样写的好处是可以在消息传递中使用,便于不同窗口间传递edit内容
例如:下面的消息响应函数中
SetEditContent(WPARAM wPARAM, LPARAM lPARAM)
IDC_EDIT可以通过wPARAM传递近来,而字符传内容可以直接通过lPARAM传递近来
CString Msg="要传递的消息";
::SendMessage(m_hParent,WM_SENDMSG_EDIT,(WPARAM) IDC_EDIT, (LPARAM)(LPSTR)(LPCTSTR)Msg)
如:
((CEdit*)GetDlgItem(wPARAM))->SetSel(-1);
((CEdit*)GetDlgItem(wPARAM))->ReplaceSel((LPCSTR)lPARAM);
经过多次测试,总结出VC编辑框(EDIT)的自动换行与自动滚屏的方法。
方法一:(当EDIT映射到一CString时)
m_String = m_String + sNewString + "\r\n" //自动换行
UpdateData(false);
此法只能做到自动换行,不会自动滚屏到最后一行。
方法二:(当EDIT映射到一EDIT时)
m_Edit.SetSel(-1, -1); //自动滚屏
m_Edit.ReplaceSel(sNewString+"\r\n"); //自动换行
UpdateData(true);
此法可以做到自动换行,并自动滚屏到最后一行。
以上,m_String、m_Edit.分别为给编辑框添加的成员变量;sNewString 为要显示的字符串
注意二法中UpdataData参数的区别。
我发现修改编辑框的属性:Auto_HScroll等用处不大。
vc中edit控件使用总结的更多相关文章
- VC中edit控件使用
SetSel(start,end)作用:定制EDIT的所选择内容.间接地可以用于定位光标位置. 使用例子:EXP1:设置光标CEdit* pEdit=(CEdit*)GetDlgItem(I ...
- Windows获取其他进程中Edit控件的内容
最近做的MFC项目中,有个获取其他进程中Edit控件内容的需求,本来以为是个很简单的问题,但是来来回回折腾了不少时间,发博记录一下. 刚开始拿到这个问题,很自然的就想到GetDlgItemText() ...
- vc 在edit控件中动态插入数据滚动显示
内存从网上论坛摘抄整理 思路:给控件设置多行属性,设置垂直滚动条,Auto Vscroll设置为true,放入文本后把插入点设置到末尾 pEdit->LineScroll(pEdit->G ...
- 一种导致 emwin 中 EDIT 控件不显示的情况
@2018-12-11 [小记] 设计界面中使用了 EDIT 控件,但在其初始化语句中误使用了 text-color 属性API,导致了控件 EDIT 中的 Text 无法显示,具体如下 hItem ...
- VC++中关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别
而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息. OnDraw()是CVIEW的成员函数,并且没有响应消息的功能.这就是为什么你用VC成的程序代码时,在视图类只有OnDraw ...
- VC++中CEdit控件实现回车换行
1.通过回车Enter换行: 这里要有两个设置 <1>.将控件的属性设置为Mutilines->true; <2>.将控件的另一个属性设置为Want return-> ...
- MFC中EDIT控件实现换行
\n是C下的回撤换行.在MFC下得用\r\n.
- emWin(ucGui)的Edit控件退格处理方法 worldsing
在enWin(ucGui)中EDIT控件在数值模式(十进制/十六进制/二进制/浮点数)下编辑是,无法使用BackSpace键进行退格,主要涉及到的函数有: EDIT_SetBinMode() EDIT ...
- VC++6.0/MFC中如何限制Edit控件输入 例子,只能输入0和1
1.Insert -> New Class -> 在Base Class中选择CEdit,在Name中输入CMyEdit. 2.在左边的ClassView中,右键击CMyEdit,选择Ad ...
随机推荐
- 从centos6升级到centos7步骤
1. 备份 2. 安装依赖列表 yum源文件/etc/yum.repos.d/upgrade.repo,内容为 [upgrade] name=upgrade baseurl=http://dev.ce ...
- querySelectorAll 与jquery.find 与htmlcollection 的区别
querySelector 和 querySelectorAll 规范定义 querySelector 和 querySelectorAll 方法是 W3C Selectors API Level 1 ...
- hdu 6040 Hints of sd0061(stl: nth_element(arr,arr+k,arr+n))
Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- 利用国内镜像下载Android源码,并编译生成image镜像文件
为了编译安卓源码,首先需要一个Linux,本次采用Ubuntu Kylin14.04,内核版本3.13.装在四核.4G内存.1T硬盘的虚拟机上查看内核版本号:$uname -all清华镜像地址清华镜像 ...
- 了解jmeter
JMeter是Apache组织的开放源代码项目,100%的用java实现应用.用于压力测试和性能测试.它最初被设计用于Web应用测试但后来扩展到其它测试领域. jmeter和loadrunner的对比 ...
- Alpha冲刺(2/10)
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/9960487.html 作业博客:https://edu.cnblogs.com/campus/ ...
- asp.net设置gridview页码显示遇到的问题
问题:分页部分显示的页码撑开占满整个表格底部 解决方法: 1.通过浏览器察看源,发现是分页部分的table样式受到整个页面的table设置的样式的影响,分页是一个tr里面的td里面的table 2.设 ...
- 用JQuery怎么去一次性获取 aspTextBox 文本框的值
如:<asp:TextBox ID="txtSubject" runat="server">aa</asp:TextBox> 第一次用服 ...
- Android常见问题——找不到HttpClient和okHttp的包
今天再用Android Studio进行网络编程的时候遇到了一个问题,就是怎么也找不到HttpClient的包,上网搜了一下也没什么结果,但最后偶然解决问题,下面总结了一下方法: 首先打开File-& ...
- 【剑指offer】数字在排序数组中出现的次数,C++实现
原创博文,转载请注明出处! # 题目 # 思路 利用二分查找法,查找元素k在排序数组中第一次出现的位置m及最后一次出现的位置n,m-n+1即为元素k再排序数组中出现的次数. 二分查找法在数 ...