VC++之Edit Box控件

翻译|其它|编辑:郝浩|2007-09-21 10:59:27.000|阅读 1436 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

Edit  窗口是用来接收用户输入最常用的一个控件。创建一个输入窗口可以使用成员函数:

  BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );

  其中  dwStyle  将指明该窗口的风格,除了子窗口常用的风格  WS_CHILD,WS_VISIBLE  外,你可以针对输入控件指明专门的风格。
      ES_AUTOHSCROLL,ES_AUTOVSCROLL  
指明输入文字超出显示范围时自动滚动。
      ES_CENTER,ES_LEFT,ES_RIGHT  
指定对齐方式
      ES_MULTILINE  
是否允许多行输入
      ES_PASSWORD  
是否为密码输入框,如果指明该风格则输入的文字显示为*
      ES_READONLY  
是否为只读
      ES_UPPERCASE,ES_LOWERCASE  
显示大写/小写字符

  控制显示的文本利用成员函数  SetWindowText/GetWindowText  用于设置/得到当前显示的文本。

  通过  GetLimitText/SetLimitText  可以得到/设置在输入框中输入的字符数量。

  由于在输入时用户可能选择某一段文本,所以通过  void CEdit::GetSel( int& nStartChar, int& nEndChar )得到用户选择的字符范围,通过调用  void CEdit::SetSel( int nStartChar, int nEndChar, BOOL bNoScroll = FALSE )可以设置当前选择的文本范围,如果指定  nStartChar=0 nEndChar=-1则表示选中所有的文本。void ReplaceSel( LPCTSTR lpszNewText, BOOL bCanUndo = FALSE )可以将选中的文本替换为指定的文字。

  此外输入框还有一些和剪贴板有关的功能,void Clear( );删除选中的文本,void Copy( );可将选中的文本送入剪贴板,void Paste( );将剪贴板中内容插入到当前输入框中光标位置,void Cut( );相当于  Copy    Clear  结合使用。

  最后介绍一下输入框几种常用的消息映射宏:
ON_EN_CHANGE  
输入框中文字更新后产生
ON_EN_ERRSPACE  
输入框无法分配内存时产生
ON_EN_KILLFOCUS / ON_EN_SETFOCUS  
在输入框失去/得到输入焦点时产生
 
 使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,并且定义形式如  ON_Notification( id, memberFxn )的消息映射。如果在对话框中使用输入框,Class Wizard  会自动列出相关的消息,并能自动产生消息映射代码。 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP