Edit Control控件 编辑框 文本框

 
  
1, 如何修改Edit控件中的内容
方法一: SetDialogItem( IDC_EDIT, "nihao" );
方法二: 控件绑定CString对象m_Edit, 
m_Eidt="nihao";
UpdateData( false );

2, 如何自动滚动到最下方
index = m_Edit.GetLineCount();//获得当前List控件一共多少行
m_Edit.LineScroll(index,0);//将垂直滚动条滚动到最后一行

3, 如何自动换行
设置属性MULTILINE = true, AUTO_HSCROLL = false.

CEditView中的editctrl控件的有些风格不能在创建后再modifystyle的 
解决方法有二 
1、 
BOOL   CEditViewxxx::PreCreateWindow(CREATESTRUCT&   cs)   

BOOL   bPreCreated   =   CEditView::PreCreateWindow(cs); 
cs.style   &=   ~(ES_AUTOHSCROLL|WS_HSCROLL); //   Enable   word-wrapping 
return   bPreCreated; 


2、删除editview原来的editctrl,好像是unpresubclasswindow()之类的,重建editctrl. 


上面修改了文本框的属性。

文本框又叫编辑框,消息和属性有:
编辑框(Edit Box)控件实际上是一个简易的正文编辑器,用户可以在编辑框中输入并编辑正文。编辑框既可以是单行的,也可以是多行的,多行编辑框是从零开始编行号的.在一个多行编辑框中,除了最后一行外,每一行的结尾处都有一对回车换行符(用"\r\n"表示).这对回车换行符是正文换行的标志,在屏幕上是不可见的.

  编辑框控件会向父窗口发出控件通知消息.

  消息含义

  EN_CHANGE

  编辑框的内容被用户改变了。与EN_UPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的。

  EN_ERRSPACE

  编辑框控件无法申请足够的动态内存来满足需要。

  EN_HSCROLL

  用户在水平滚动条上单击鼠标。

  EN_KILLFOCUS

  编辑框失去输入焦点。

  EN_MAXTEXT

  输入的字符超过了规定的最大字符数。在没有ES_AUTOHSCROLL或ES_AUTOVSCROLL的编辑框中,当正文超出了编辑框的边框时也会发出该消息。

  EN_SETFOCUS

  编辑框获得输入焦点。

  EN_UPDATE

  在编辑框准备显示改变了的正文时发送该消息。

  EN_VSCROLL

  用户在垂直滚动条上单击鼠标。

  MFC的CEdit类封装了编辑框控件。CEdit类的成员函数Create负责创建按钮控件,该函数的声明为

  BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

  参数dwStyle指定了编辑框控件风格,如表6.6所示,dwStyle可以是这些风格的组合。rect指定了编辑框的位置和尺寸。

  pParentWnd指定了父窗口,不能为NULL。编辑框的ID由nID指定。如果创建成功,该函数返回TRUE,否则返回FALSE.

  编辑框控件的风格

  控件风格含义

  ES_AUTOHSCROLL

  当用户在行尾键入一个字符时,正文将自动向右滚动10个字符,当用户按回车键时,正文总是滚向左边。

  ES_AUTOVSCROLL

  当用户在最后一个可见行按回车键时,正文向上滚动一页。

  ES_CENTER

  在多行编辑框中使正文居中。

  ES_LEFT

  左对齐正文。

  ES_LOWERCASE

  把用户输入的字母统统转换成小写字母。

  ES_MULTILINE

  指定一个多行编辑器。若多行编辑器不指定ES_AUTOHSCROLL风格,则会自动换行,若不指定ES_AUTOVSCROLL,则多行编辑器会在窗口中正文装满时发出警告声响。

  ES_NOHIDESEL

  缺省时,当编辑框失去输入焦点后会隐藏所选的正文,当获得输入焦点时又显示出来。设置该风格可禁止这种缺省行为。

  ES_OEMCONVERT

  使编辑框中的正文可以在ANSI字符集和OEM字符集之间相互转换。这在编辑框中包含文件名时是很有用的。

  ES_PASSWORD

  使所有键入的字符都用“*”来显示。

  ES_RIGHT

  右对齐正文。

  ES_UPPERCASE

  把用户输入的字母统统转换成大写字母。

  ES_READONLY

  将编辑框设置成只读的。

  ES_WANTRETURN

  使多行编辑器接收回车键输入并换行。如果不指定该风格,按回车键会选择缺省的命令按钮,这往往会导致对话框的关闭。

  除了上表中的风格外,一般还要为控件指定WS_CHILD、WS_VISIBLE、WS_TABSTOP和WS_BORDER窗口风格,WS_BORDER使控件带边框。

  创建一个普通的单行编辑框应指定风格为WS_CHILD|WS_VISIBLE|WS_TABSTOP |WS_BORDER|ES_LEFT|ES_AUTOHSCROLL,这将创建一个带边框、左对齐正文、可水平滚动的单行编辑器。要创建一个普通多行编辑框,还要附加ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL |WS_HSCROLL| WS_VSCROLL风格,这将创建一个可水平和垂直滚动的,带有水平和垂直滚动条的多行编辑器。

  对于用对话框模板编辑器创建的编辑框控件,可以在控件的属性对话框中指定表中列出的控件风格。例如,在属性对话框中选择Multi-line项,相当与指定了ES_MULTILINE风格。


你可能感兴趣的:(Edit Control控件 编辑框 文本框)