
先给编辑框指定变量,调用变量就可以调用编辑框里面的内容了。
在ClassWizard里面转到MemberVariables,选上编辑框的ID后,点击右边Add Variables,输入名称就可以指定变量。以后调用该变量就行了。。
获得编辑框的代码如下:
UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。
UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。
首先为
文本框
添加响应事件
EN_CHANGE,再为文本框关联一个变量,在EN_CHANGE的响应代码中添加如下代码就行了,
UpdateData
();
这样就会当没改变下就会更新下那个已经关联的变量了。从而可以在代码中使用了。
如果是下拉列表框的数据,那可以先为此控件增加一个控件变量如m_box。m_boxGetCount()可以得到一个整数,总共的条数,然后一个for循环可以得到每一条数据。m_boxGetItemData(i)就可以得到下拉列表框说有的显示数据。
listbox控件的一些 *** 作
1 属性列表:
SelectionMode 组件中条目的选择类型,即多选(Multiple)、单选(Single)
Rows 列表框中显示总共多少行
Selected 检测条目是否被选中
SelectedItem 返回的类型是ListItem,获得列表框中被选择的条目
Count 列表框中条目的总数
SelectedIndex 列表框中被选择项的索引值
Items 泛指列表框中的所有项,每一项的类型都是ListItem
2 取列表框中被选中的值
ListBoxSelectedValue
3 动态的添加列表框中的项:
ListBoxItemsAdd("所要添加的项");
4 移出指定项:
//首先判断列表框中的项是否大于0
If(ListBoxItemsCount > 0 )
{
//移出选择的项
ListBoxItemsRemove(ListBoxSelectedItem);
}
5 清空所有项:
//首先判断列表框中的项是否大于0
If(ListBoxItemsCount > 0 )
{
//清空所有项
ListBoxItemsClear();
}
6 列表框可以一次选择多项:
只需设置列表框的属性 SelectionMode="Multiple",按Ctrl可以多选
7 两个列表框联动,即两级联动菜单
//判断第一个列表框中被选中的值
switch(ListBox1SelectValue)
{
//如果是"A",第二个列表框中就添加这些:
case "A"
ListBox2ItemsClear();
ListBox2ItemsAdd("A1");
ListBox2ItemsAdd("A2");
ListBox2ItemsAdd("A3");
//如果是"B",第二个列表框中就添加这些:
case "B"
ListBox2ItemsClear();
ListBox2ItemsAdd("B1");
ListBox2ItemsAdd("B2");
ListBox2ItemsAdd("B3");
}
8 实现列表框中项的移位
即:向上移位、向下移位
具体的思路为:创建一个ListBox对象,并把要移位的项先暂放在这个对象中。
如果是向上移位,就是把当前选定项的的上一项的值赋给当前选定的项,然后
把刚才新加入的对象的值,再附给当前选定项的前一项。
具体代码为:
//定义一个变量,作移位用
index = -1;
//将当前条目的文本以及值都保存到一个临时变量里面
ListItem lt=new ListItem (ListBoxSelectedItemText,ListBoxSelectedValue);
//被选中的项的值等于上一条或下一条的值
ListBoxItems[ListBoxSelectedIndex]Text=ListBoxItems[ListBoxSelectedIndex + index]Text;
//被选中的项的值等于上一条或下一条的值
ListBoxItems[ListBoxSelectedIndex]Value=ListBoxItems[ListBoxSelectedIndex + index]Value;
//把被选中项的前一条或下一条的值用临时变量中的取代
ListBoxItems[ListBoxSelectedIndex]Test=ltTest;
//把被选中项的前一条或下一条的值用临时变量中的取代
ListBoxItems[ListBoxSelectedIndex]Value=ltValue;
//把鼠标指针放到移动后的那项上
ListBoxItems[ListBoxSelectedIndex]Value=ltValue;
9 移动指针到指定位置:
(1)移至首条
//将被选中项的索引设置为0就OK了
ListBoxSelectIndex=0;
(2)移至尾条
//将被选中项的索引设置为ListBoxItemsCount-1就OK了
ListBoxSelectIndex=ListBoxItemsCount-1;
(3)上一条
//用当前被选中的索引去减 1
ListBoxSelectIndex=ListBoxSelectIndex - 1;
(4)下一条
//用当前被选中的索引去加 1
ListBoxSelectIndex=ListBoxSelectIndex + 1;
listBox显示最下面的一行。listBox1SelectedIndex = listBox1ItemsCount - 1;
listBox删除所选择的行 listBox1ItemsRemove(listBox1SelectedItem);
combo box用法:
这个需要知道MFC知识吗?
先获取编辑框里面的数据内容:GetWindowText(),把它存放起来,
然后分别获取每个数字,这个根据你输入数据时候的区分点(比如你输入的时候用的是空格来分划,就让程序根据搜索到的字符是否是空格来判定);
最后,就是排序,
方法如下:
CEdit类的方法:
int
GetLineCount(
)
int
GetLine(
int
nIndex,
LPTSTR
lpszBuffer,
int
nMaxLength
)
这是MSDN的官方示例:
先为Textbox绑定一个CEdit类的变量123456789101112int
i,
nLineCount
=
m_myEditGetLineCount();CString
strText,
strLine;//
Dump
every
line
of
text
of
the
edit
controlfor
(i=0;
i
<
nLineCount;
i++){
//
length
of
line
i:
int
len
=
m_myEditLineLength(m_myEditLineIndex(i));
m_myEditGetLine(i,
strTextGetBuffer(len),
len);
strTextReleaseBuffer(len);
strLineFormat(_T("line
%d:
'%s'\n"),
i,
strText);
AFXDUMP(strLine);}
以上就是关于mfc中如何获得文本框内容全部的内容,包括:mfc中如何获得文本框内容、mfc怎么在文本框输入时候就能获取到数据、MFC怎样获取列表里面所有的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)