Visual C++ / MFC 入门教程--EditBox

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( );相当于CopyClear合使用。

最后介一下入框几常用的消息映射宏:

ON_EN_CHANGE 入框中文字更新后

ON_EN_ERRSPACE 入框无法分配内存时产

ON_EN_KILLFOCUS / ON_EN_SETFOCUS 入框失去/得到入焦点时产

使用以上几消息映射的方法原型如:afx_msg void memberFxn( );的函数,并且定形式如ON_Notification( id, memberFxn )的消息映射。如果在对话框中使用入框,Class Wizard会自列出相的消息,并能自动产生消息映射代

 

posted @ 2008-10-28 11:49  西风残照  阅读(724)  评论(0)    收藏  举报