编辑框控件的两种成员变量(CEdit控件类型与CString 值类型之间的关联问题)
2015-06-05 09:36
411 查看
1. edit控件---与---控件ID直接操作
由id—转化—句柄—类指针
((CEdit*)GetDlgItem(IDC_EDITID))->SetWindowText(str);//注意括号的位置括法
2. edit控件---与---Cstring类型
如果只是简单的获取 edit控件内容,或设置简单的内容
建议使用cstring类型成员变量。
UpdateData(TRUE) 即:控件的值—>变量。
——刷新控件的值到对应的变量。(外部输入值交给内部变量)
-----------------------------------默认的缺省参数为TRUE,
UpdateData(FALSE)即:变量值—>控件显示。
—— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)
例如:我们在对话框窗口中添加了3个editbox,然后将前两个的值相加,然后在第三个editbox中输出。
那么我们可以做如下处理:
1。用类向导在3个editbox下添加3个变量,我们命名为m_num1,m_num2,m_num3。
2。然后我们可以多添加一个button控件,在其的click处理事件中,添加以下代码:
UpdateData();// 默认的缺省参数为TRUE,这样,将EditBox控件的内容读入到与其关联的变量中
m_num3 = m_num1+m_num2;
UpdateData(FALSE);// 将变量的值,输出到与其关联的EditBox中
就可以了
示例:
CString m_strEdit;
//获得edit框内容
UpdateData(true);
此时m_strEdit就是edit框内容的字符串变量。
//要更新edit的话只要对m_strEdit进行赋值然后
UpdataData(false);//即可
3. edit控件---与---Cedit类型
如果是一些对edit框的复杂操作建议用cedit类型。
相关函数:
(1) void
SetSel( long nStartChar开始位置索引,
long nEndChar 结束为止索引);
--------------------用来选中edit框中的文本,选中后光标位置在结尾处
void SetSel( CHARRANGE& cr );
作用:这个函数的两种形式都用来设置选择的界线,它们可以相互替换
参数: nStartChar 选择中的第一个
fdc8
字符的从零开始的索引。
nEndChar 选择中的最后一个字符的从零开始的索引。
cr 一个CHARRANGE结构,包含了当前选择的界线。
CEdit::SetSel
void SetSel(DWORD dwSelection, BOOL bNoScroll = FALSE);
void
SetSel(int nStartChar, int nEndChar, BOOL bNoScroll = False);
参数: dwSelection 低位字指定起始位置,高位字为结束位置。如果低位为0,高位为-1,则编辑控件中的全部文本被选中;如果低位字为-1,则任何当前选定内容被去掉选定状态。
bNoScroll 指示是否显示脱字符是滚动可见的。如果值为FALSE,则显示,TRUE不显示。
nStartChar 指出当前选中部分的开始位置。如果nStartChar=0且nEndChar=-1,则编辑控件的文本被全选;如果nStartChar=-1,则任何当前选定内容被去掉选定状态。
nEndChar 指出结束位置。
(2) DWORD
GetSel( ) const;
void GetSel(
int& nStartChar, int& nEndChar ) const;
------------------------用来得到edit框中所选部分的位置。
两个函数都是CEdit的成员函数,用来获得所选正文的位置。
GetSel的第一个版本返回一个DWORD值,其中低位字说明了被选择的正文开始处的字符索引,高位字说明了选择的正文结束处的后面一个字符的字符索引,
如果没有正文被选择,那么返回的低位和高位字节都是当前插入符所在字符的字符索引。
GetSel的第二个版本的两个参数是两个引用,其含义与第一个版本函数返回值的低位和高位字相同。
(3)void
ReplaceSel( LPCTSTR lpszNewText, BOOL bCanUndo = FALSE );
lpszNewText指定的文本替换在编辑控件中当前选择。
lpszNewText指向包含替换文本的一个 NULL 终止的字符串。
bCanUndo若要指定此功能可以取消,请将该参数的值设置为 TRUE 。 默认值为 FALSE。
替换文本的一部分在编辑控件中。
如果您希望替换所有文本,请使用 CWnd::SetWindowText 成员函数。
如果没有当前选择,替换文本在当前的光标位置插入。
区别:SetWindowText—光标位置在开始,而replacesel在结尾
示例:
CEdit m_ctrlEdit;m_ctrlEdit.SetSel(0,0); //将光标移到开头=所选部分开头和结尾都在0
m_ctrlEdit.SetSel(-1); //将光标移到末尾=所选部分开头在结尾m_ctrlEdit.SetSel(-1, -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_EDITID))->SetWindowText(str);//注意括号的位置括法
2. edit控件---与---Cstring类型
如果只是简单的获取 edit控件内容,或设置简单的内容
建议使用cstring类型成员变量。
UpdateData(TRUE) 即:控件的值—>变量。
——刷新控件的值到对应的变量。(外部输入值交给内部变量)
-----------------------------------默认的缺省参数为TRUE,
UpdateData(FALSE)即:变量值—>控件显示。
—— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)
例如:我们在对话框窗口中添加了3个editbox,然后将前两个的值相加,然后在第三个editbox中输出。
那么我们可以做如下处理:
1。用类向导在3个editbox下添加3个变量,我们命名为m_num1,m_num2,m_num3。
2。然后我们可以多添加一个button控件,在其的click处理事件中,添加以下代码:
UpdateData();// 默认的缺省参数为TRUE,这样,将EditBox控件的内容读入到与其关联的变量中
m_num3 = m_num1+m_num2;
UpdateData(FALSE);// 将变量的值,输出到与其关联的EditBox中
就可以了
示例:
CString m_strEdit;
//获得edit框内容
UpdateData(true);
此时m_strEdit就是edit框内容的字符串变量。
//要更新edit的话只要对m_strEdit进行赋值然后
UpdataData(false);//即可
3. edit控件---与---Cedit类型
如果是一些对edit框的复杂操作建议用cedit类型。
相关函数:
(1) void
SetSel( long nStartChar开始位置索引,
long nEndChar 结束为止索引);
--------------------用来选中edit框中的文本,选中后光标位置在结尾处
void SetSel( CHARRANGE& cr );
作用:这个函数的两种形式都用来设置选择的界线,它们可以相互替换
参数: nStartChar 选择中的第一个
fdc8
字符的从零开始的索引。
nEndChar 选择中的最后一个字符的从零开始的索引。
cr 一个CHARRANGE结构,包含了当前选择的界线。
CEdit::SetSel
void SetSel(DWORD dwSelection, BOOL bNoScroll = FALSE);
void
SetSel(int nStartChar, int nEndChar, BOOL bNoScroll = False);
参数: dwSelection 低位字指定起始位置,高位字为结束位置。如果低位为0,高位为-1,则编辑控件中的全部文本被选中;如果低位字为-1,则任何当前选定内容被去掉选定状态。
bNoScroll 指示是否显示脱字符是滚动可见的。如果值为FALSE,则显示,TRUE不显示。
nStartChar 指出当前选中部分的开始位置。如果nStartChar=0且nEndChar=-1,则编辑控件的文本被全选;如果nStartChar=-1,则任何当前选定内容被去掉选定状态。
nEndChar 指出结束位置。
(2) DWORD
GetSel( ) const;
void GetSel(
int& nStartChar, int& nEndChar ) const;
------------------------用来得到edit框中所选部分的位置。
两个函数都是CEdit的成员函数,用来获得所选正文的位置。
GetSel的第一个版本返回一个DWORD值,其中低位字说明了被选择的正文开始处的字符索引,高位字说明了选择的正文结束处的后面一个字符的字符索引,
如果没有正文被选择,那么返回的低位和高位字节都是当前插入符所在字符的字符索引。
GetSel的第二个版本的两个参数是两个引用,其含义与第一个版本函数返回值的低位和高位字相同。
(3)void
ReplaceSel( LPCTSTR lpszNewText, BOOL bCanUndo = FALSE );
lpszNewText指定的文本替换在编辑控件中当前选择。
lpszNewText指向包含替换文本的一个 NULL 终止的字符串。
bCanUndo若要指定此功能可以取消,请将该参数的值设置为 TRUE 。 默认值为 FALSE。
替换文本的一部分在编辑控件中。
如果您希望替换所有文本,请使用 CWnd::SetWindowText 成员函数。
如果没有当前选择,替换文本在当前的光标位置插入。
区别:SetWindowText—光标位置在开始,而replacesel在结尾
示例:
CEdit m_ctrlEdit;m_ctrlEdit.SetSel(0,0); //将光标移到开头=所选部分开头和结尾都在0
m_ctrlEdit.SetSel(-1); //将光标移到末尾=所选部分开头在结尾m_ctrlEdit.SetSel(-1, -1)也可
m_ctrlEdit.SetSel(0,-1); //选中所有内容—如果没有当前选择,替换文本在当前的光标位置插入。
m_ctrlEdit.ReplaceSel("替换内容");//写入值
//得到当前edit框中的所有字符数
int iStart,iCount;//iCount 为字符数
m_ctrlEdit.SetSel(0,-1); //选中所有
m_ctrlEdit.GetSel(iStart,iCount);
相关文章推荐
- linux点滴0
- python写文件出错
- Android Studio如何import module(针对非gradle)
- php实现用已经过去多长时间的方式显示时间
- java下拉框,滚动条
- C#测试代码与用例
- Java 4种引用 strongReference, softReference, weakReference, phantomReference
- 爱情if else
- ASP.NET中Session和Cache的区别总结
- 炼数成金 Dataguru培训优惠码
- PHP魔术方法之__call与__callStatic方法
- 小胖说事11-------automaticallyAdjustsScrollViewInsets(个人认为iOS7中略坑爹的属性)
- windows下实现微秒级的延时
- gpg XXX NO_PUBKEY XXX
- 《JavaScript程序设计》第2课:JS类型系统
- 为兴趣而编程
- MagicalRecord入门教程
- spring mvc 和junit 4集成的注意点
- 微信购物一周年发展研究报告
- scala编程---类与对象