在MFC中有多种获取控件数据的方法

1.GetWindowText()和SetWindowText()函数

  ],ch2[],ch3[];
 GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,);
 GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,);
 num1 = atoi(ch1);
 num2 = atoi(ch2);
 num3 = num1+num2;
 itoa(num3,ch3,);
 GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);

2.GetDlgItemText()和GetDlgItemText()函数

 GetDlgItemText(IDC_EDIT1,ch1,);
 GetDlgItemText(IDC_EDIT2,ch2,);
 num1 = atoi(ch1);
 num2 = atoi(ch2);
 num3 = num1+num2;
 itoa(num3,ch3,);
 SetDlgItemText(IDC_EDIT3,ch3);

3.将对话框中的类中添加新的数据成员,是新的数据成员通过DDX和DDV和控件联系起来。

操作步骤如下:

(1)查看- 类编辑向导-Member Variables 中添加类成员变量和控件相关连,并填写好变量的取值范围。

 UpdateData();
 m_num3 = m_num1+m_num2;
 UpdateData(FALSE);

4.添加控件和控件之间的关联,操作步骤和3类似,不同的地方在于添加的数据成员变量类型是控件

 m_Edit1.GetWindowText(ch1,);
 m_Edit2.GetWindowText(ch2,);
 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,);
 m_Edit3.SetWindowText(ch3);

5.调用SendMessage函数

,(LPARAM)ch1);
,(LPARAM)ch1);
,(LPARAM)ch1);
,(LPARAM)ch1);
,(LPARAM)ch2);    
);    
 m_Edit3.SendMessage(WM_SETTEXT,,(LPARAM)ch3);

6.调用SendDlgItemMessage函数

],ch2[],ch3[];
,(LPARAM)ch1);
,(LPARAM)ch2);
 itoa(num3,ch3,);
 
 SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,,(LPARAM)ch3);
 SendDlgItemMessage(IDC_EDIT3,EM_SETSEL,,-);
 m_Edit3.SetFocus();

7.调用函数GetDlgItemInt()

num1 = GetDlgItemInt(IDC_EDIT1);
num2 = GetDlgItemInt(IDC_EDIT2);
num3 = num1+num2;
SetDlgItemInt(IDC_EDIT3,num3);
//SetDlgItemText(IDC_EDIT3,itoa(num3,ch3,10));

MFC 操作控件数据的更多相关文章

  1. WinForm中新开一个线程操作 窗体上的控件(跨线程操作控件)

    最近在做一个winform的小软件(抢票的...).登录窗体要从远程web页面获取一些数据,为了不阻塞登录窗体的显示,开了一个线程去加载数据远程的数据,会报一个错误"线程间操作无效: 从不是 ...

  2. 如何将 MFC ActiveX 控件标记为安全,脚本和初始化

    MSDN原文.ActiveX控件标记安全(可以不仅仅是MFC ActiveX) 概要 默认情况下,MFC ActiveX 控件未标记为对脚本编写是安全的和对初始化是安全的.控制运行在 Internet ...

  3. 开发ActiveX控件调用另一个ActiveX系列1——开发一个MFC ActiveX控件

    ActiveX开发的教程有很多,我也从中受益匪浅,例如以下这几篇: 基本教程:http://www.cnblogs.com/guenli/articles/1629915.html 注意事项:http ...

  4. winform 跨线程操作控件

    当进行winform的开发时,经常遇到用时比较久的操作,在传统的单线程程序中,用户必须等待这个耗时操作完成以后才能进行下一步的操作,这个时候,多线程编程就派上用场了,将这个耗时的操作放到一个新的子线程 ...

  5. Android判断Touch为滑动事件还是操作控件

    Android判断Touch为滑动事件还是操作控件 因为在项目中要判断WebView是否处于滚动状态,但它不像ListView有onScrollStateChanged方法来监听,要实现就得手动监听它 ...

  6. WinForm中跨线程操作控件

    在WinForm编程时会遇到通过后台线程操作界面的情况,直接在后台线程执行的方法中直接操作控件会报错,这时候就要使用跨线程方式间接操作控件.下面是两种实现方式.   1.采用定义delegate的方式 ...

  7. jQuery操作控件

    在项目中添加前台控件radio,操作两个div的显示和隐藏,其实是一个很简单的问题,但是费了老大劲才完成,也就是jQuery操作控件的一些基础知识.方法有三种,简单介绍: 1.给元素设置style属性 ...

  8. C# 跨线程操作控件(简洁)

                                              C# 跨线程操作控件 .net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生.解决此问题的方法有两个: 第一 ...

  9. VC线程中操作控件,引起程序卡死的问题。

    [问题还原] 线程中操作控件,具体为控制一个按键的使能,使能后结束线程. 主程序中有一个死循环,等待线程结束. 然后,就没有然后了-- [解决方案] 在主程序死循环中,如果检测到界面消息,优先处理掉.

随机推荐

  1. javascript string对象的属性与方法

    一 创建string对象 new string('string'); 更直接的定义方法是var str = 'string'; 二 string属性 1.constructor 2.lenght 字符 ...

  2. Effective Java2读书笔记-创建和销毁对象(四)

    第7条:避免使用终结方法 这一条讲的简直是不知所云.先简单记下来其中说出的几条: ①显式终止方法的典型例子有InputStream.OutputStream和java.sql.Connection上的 ...

  3. BZOJ 3529 数表(莫比乌斯反演)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3529 思路:令F(i)为i的约数和, 1<=x<=n,1<=y<=m G(i ...

  4. JavaScript 常用小代码

    //判断一个汉字等于两个字符 function getByteLen(val) { var len = 0; for (var i = 0; i < val.length; i++) { var ...

  5. 【Mysql 调用存储过程,输出参数的坑】

    玛德,数据行都返回过来了,就是没有输出参数!!! 扒官方设计文档:这么一段 雷死人了!!! When a stored procedure is called using MySqlCommand.E ...

  6. 转:ReportViewer控件使用方法

    a. ReportViewer关联Report1.rdlc的简单呈现b. 对带有报表参数的Report1.rdlc的呈现c. 利用程式生成的DataSet 填充报表d. 调用存储过程 生成DataSe ...

  7. 非常棒的Java REST服务器栈

    Dropwizard 是一个开源的Java框架,用于开发OPS友好.高性能的基于REST的后端.它是由Yammer开发的,来驱动基于JVM的后端. Dropwizard提供同类最佳的Java库到一个嵌 ...

  8. c++容器使用总结(转载)

    目录 ==================================================== 第一章 容器 第二章 Vector和string 第三章 关联容器 第四章 迭代器 第五 ...

  9. N-Queens 解答

    Question The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no tw ...

  10. Trapping Raining Water 解答

    Question Given n non-negative integers representing an elevation map where the width of each bar is ...