按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
列出的控件风格。例如,在属性对话框中选择 Multi…line 项,相当于指定了 ES_MULTILINE
风格。对话框模板编辑器中设置编辑框控件属性的 Edit Properties 对话框如图 5…2 所示。
图 5…2 Edit Properties 对话框
5。2。2 Cedit 类的主要成员函数
文本编辑控件支持剪贴板操作,CEdit 类提供了一些与剪贴板有关的成员函数,如表 5…6
所示。
表 5…6 与剪贴板有关的 CEdit 成员函数
成员函数声明 用途
void Clear() 清除编辑框中被选择的正文
void Copy() 把在编辑框中选择的正文拷贝到剪贴板中
void Cut() 清除编辑框中被选择的正文并把这些正文拷贝到剪贴板中
void Paste() 将剪贴板中的正文插入到编辑框的当前插入符处
撤消上一次键入 。对于单行编辑框,该函数总返回 TRUE,对于多行编辑
BOOL Undo()
框,返回 TRUE 表明操作成功,否则返回 FALSE
可以用下列 CEdit 或 CWnd 类的成员函数来查询编辑框。在学习下面的函数时,读者会
经常遇到术语“字符索引”。字符的字符索引是指从编辑框的开头字符开始的字符编号,它是
从零开始编号的 。也就是说,字符索引实际上是指当把整个编辑正文看作一个字符串数组时,
·104 ·
…………………………………………………………Page 114……………………………………………………………
第 5 章 常用控件
该字符所在的数组元素的下标。
1.GetWindowText()函数
该成员函数声明方式如下:
int GetWindowText(LPTSTR lpszStringBuf; int nMaxCount) const;
void GetWindowText(CString& rString) const;
这两个函数均是 CWnd 类的成员函数,可用来获得窗口的标题或控件中的正文。第一种
声明方式用 lpszStringBuf 参数指向的字符串数组作为拷贝正文的缓冲区,参数 nMaxCount
用于获取拷贝到缓冲区中的最大字符数,该函数返回以字节为单位的实际拷贝字符数(不包
括结尾的空字节 )。第二种声明方式用一个 CString 对象作为缓冲区。
2 .GetWindowTextLength()函数
该成员函数声明方式如下:
int GetWindowTextLength() const;
CWnd 的成员函数,可用来获得窗口的标题或控件中的正文的长度。
3 .GetSel()函数
该成员函数声明按如下方式进行声明:
DWORD GetSel() const;
void GetSel(int& nStartChar;int& nEndChar) const;
两个函数都是 CEdit 的成员函数,用来获得所选正文的位置。第一种声明方式用于返回
一个 DWORD 值,其中低位字节说明了被选择的正文开始处的字符索引,高位字节说明了选
择的正文结束处的最后一个字符的字符索引,如果没有正文被选择,那么返回的低位和高位
字节都是当前插入符所在字符的字符索引。第二种声明方式中的两个参数是两个引用,其含
义与第一种声明方式的低位和高位字节相同。
4 .LineFromChar() 函数
该成员函数声明方式如下:
int LineFromChar(int nIndex = – 1) const;
CEdit 的成员函数,仅用于多行编辑框,用来返回指定字符索引所在行的行索引(从零
开始编号)。参数 nIndex 指定了一个字符索引,如果 nIndex 是…1,那么函数将返回选择正文
的第一个字符所在行的行号,若没有正文被选择,则该函数会返回当前的插入符所在行的行
号。
5 .LineIndex() 函数
该成员函数声明方式如下:
int LineIndex(int nLine = – 1) const;
CEdit 的成员函数,仅用于多行编辑框,用来获得指定行的开头字符的字符索引,如果
指定行超过了编辑框中的最大行数,该函数将返回…1 。参数 nLine 指定了从零开始的行索引,
·105 ·
…………………………………………………………Page 115……………………………………………………………
Visual C++ 6。0 程序设计从入门到精通
如果它的值为…1,则函数返回当前的插入符所在行的字符索引。
6 .GetLineCount()函数
该成员函数声明方式如下:
int GetLineCount() const;
CEdit 的成员函数,仅用于多行编辑框,用来获得正文的行数。如果编辑框是空的,那
么该函数的返回值是 1。
7 .LineLength() 函数
该成员函数声明方式如下:
int LineLength( int nLine = – 1 ) const;
CEdit 的成员函数,用于获取指定字符索引所在行的字节长度(行尾的回车和换行符不
计算在内),参数 nLine 说明了为字符索引。如果 nLine 的值为…1,则函数返回当前行的长度
(假如没有正文被选择),或选择正文占据的行的字符总数减去选择正文的字符数(假如有正
文被选择)。若用于单行编辑框,则函数返回整个正文的长度。
8.GetLine()函数
该成员函数声明方式如下:
int GetLine( int nIndex; LPTSTR lpszBuffer ) const;
int GetLine( int nIndex; LPTSTR lpszBuffer; int nMaxLength ) const;
CEdit 的成员函数,仅用于多行编辑框,用来获得指定行的正文(不包括行尾的回车和
换行符)。参数 nIndex 是行号,lpszBuffer 指向存放正文的缓冲区,nMaxLength 规定了拷贝
的最大字节数。若指定的行号小于编辑框的实际行数,函数返回实际拷贝的字节数,若指定
的行号大于编辑框的实际行数,则函数返回 0 。需要注意的是,GetLine 函数不会在缓冲区中
字符串的末尾添加字符串结束符(NULL )。
9 .SetWindowText()函数
该函数的声明方式如下:
void SetWindowText(LPCTSTR lpszString);
CWnd 的成员函数,用来设置窗口的标题或控件中的正文,参数 lpszString 可以是一个
CString 对象,或是一个指向字符串的指针。
10.SetSel()函数
该成员函数声明方式如下:
void SetSel(DWORD dwSelection;BOOL bNoScroll=FALSE);
void SetSel(int nStartChar;int nEndChar;BOOL bNoScroll=FALSE);
CEdit 的成员函数,用来选择编辑框中的正文。参数 dwSelection 的低位字节说明了选择
开始处的字符索引,高位字节说明了选择结束处的字符索引。如果低位字为 0 且高位字节为
…1,那么就选择所有的正文,如果低位字节为…1,则取消所有的选择。参数 bNoScroll 的值如
·106 ·
…………………………………………………………Page 116……………………………………………………………
第 5 章 常用控件
果是 FALSE ,则滚动插入符并使之可见,否则就不滚动。参数 nStartChar 和 nEndChar 的含
义与参数 dwSelection 的低位字节和高位字节相同。
11.ReplaceSel() 函数
该成员函数声明方式如下:
vo