mfc中如何获得文本框内容

mfc中如何获得文本框内容,第1张

先给编辑框指定变量,调用变量就可以调用编辑框里面的内容了。

在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怎样获取列表里面所有的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9748863.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存