通过类向导可以生成两种类成员变量,一种是cstring类型,一种是cedit类型。
在程序中使用时如果只是简单的获取 edit控件内容,或设置简单的内容建议使用cstring类型成员变量。
示例:
CString   m_strEdit;
//获得edit框内容
UpdateData(true);
此时m_strEdit就是edit框内容的字符串变量。
//要更新edit的话只要对m_strEdit进行赋值然后
UpdataData(false);//即可
如果是一些对edit框的复杂操作建议用cedit类型。
示例:
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);
还一种可以直接用控件的id值来进行操作
示例:
((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)的自动换行与自动滚屏 

经过多次测试,总结出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控件使用总结的更多相关文章

  1. VC中edit控件使用

    SetSel(start,end)作用:定制EDIT的所选择内容.间接地可以用于定位光标位置. 使用例子:EXP1:设置光标CEdit*      pEdit=(CEdit*)GetDlgItem(I ...

  2. Windows获取其他进程中Edit控件的内容

    最近做的MFC项目中,有个获取其他进程中Edit控件内容的需求,本来以为是个很简单的问题,但是来来回回折腾了不少时间,发博记录一下. 刚开始拿到这个问题,很自然的就想到GetDlgItemText() ...

  3. vc 在edit控件中动态插入数据滚动显示

    内存从网上论坛摘抄整理 思路:给控件设置多行属性,设置垂直滚动条,Auto Vscroll设置为true,放入文本后把插入点设置到末尾 pEdit->LineScroll(pEdit->G ...

  4. 一种导致 emwin 中 EDIT 控件不显示的情况

    @2018-12-11 [小记] 设计界面中使用了 EDIT 控件,但在其初始化语句中误使用了 text-color 属性API,导致了控件 EDIT 中的 Text 无法显示,具体如下 hItem ...

  5. VC++中关于控件重绘函数/消息 OnPaint,OnDraw,OnDrawItem,DrawItem的区别

    而OnPaint()是CWnd的类成员,同时负责响应WM_PAINT消息. OnDraw()是CVIEW的成员函数,并且没有响应消息的功能.这就是为什么你用VC成的程序代码时,在视图类只有OnDraw ...

  6. VC++中CEdit控件实现回车换行

    1.通过回车Enter换行: 这里要有两个设置 <1>.将控件的属性设置为Mutilines->true; <2>.将控件的另一个属性设置为Want return-> ...

  7. MFC中EDIT控件实现换行

    \n是C下的回撤换行.在MFC下得用\r\n.

  8. emWin(ucGui)的Edit控件退格处理方法 worldsing

    在enWin(ucGui)中EDIT控件在数值模式(十进制/十六进制/二进制/浮点数)下编辑是,无法使用BackSpace键进行退格,主要涉及到的函数有: EDIT_SetBinMode() EDIT ...

  9. VC++6.0/MFC中如何限制Edit控件输入 例子,只能输入0和1

    1.Insert -> New Class -> 在Base Class中选择CEdit,在Name中输入CMyEdit. 2.在左边的ClassView中,右键击CMyEdit,选择Ad ...

随机推荐

  1. Java复习11. 单例编程

    Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton {     private static Singleton instance; ...

  2. 十五、dbms_space(分析段增长和空间的需求)

    1.概述 作用:用于分析段增长和空间的需求. 2.包的组成 1).unused_space作用:用于返回对象(表.索引.簇)的未用空间语法:dbms_space.unused_space(segmen ...

  3. hdu2732

    题解: 和上一题差不多 然后注意格式 代码: #include<cstdio> #include<cmath> #include<algorithm> #inclu ...

  4. qml 关于鼠标穿透的问题

    最近在开发过程中,遇到了鼠标穿透的问题.结合网上给予的方法,都试了一圈,在这里总结一下: import QtQuick 2.9import QtQuick.Window 2.2import QtQui ...

  5. Java基础学习-接口-概述以及成员特点

    package interfaceclass; /*接口的概述: * 接口解决的问题: * 因为java中的继承的单一局限性(子类只能继承一个父类),为了打破这个局限,java语言提供了一个机制,接口 ...

  6. easychm生成帮助文件时出现的目录导航乱码问题

    将html生成帮助文件时出现乱码问题的主要原因是:文件编译格式的问题 (一般的网页都是utf-8格式的,将其改为GB2312就可以了):

  7. Tornado 自定义session,与一致性哈希 ,基于redis 构建分布式 session框架

    Tornado 自定义session,与一致性哈希 ,基于redis 构建分布式 session import tornado.ioloop import tornado.web from myhas ...

  8. softmax的多分类

    关于多分类 我们常见的逻辑回归.SVM等常用于解决二分类问题,对于多分类问题,比如识别手写数字,它就需要10个分类,同样也可以用逻辑回归或SVM,只是需要多个二分类来组成多分类,但这里讨论另外一种方式 ...

  9. Vim技能修炼教程(7) - 可视模式

    可视模式 可视模式是与正常模式.插入模式一起并列的模式.它的作用就像图形化编辑器下用鼠标来选择一个块. 在vim下,使用正常模式和ex命令,连搜带跳行的,未必就比用鼠标慢. 我们先做一个例子找找感觉, ...

  10. iOS runloop 自定义输入源

    创建自定义输入源需要定义以下内容 1)输入源要处理的信息 2)使感兴趣的客户端知道如何和输入源交互的调度例程 3)处理其他任何客户发送请求的例程 4)使输入源失效的取消例程 上图的处理流程:主线程(M ...