MFC_对话框_访问控件_7种方法_A
访问对话框控件的七种方法
方法一、
GetDlgItem()->GetWindowText();
GetDlgItem()->SetWindowText();
方法二、
GetDlgItemText();
SetDlgItemText();
方法三、
GetDlgItemInt();
SetDlgItemInt();
一、建立名为Demo的MFC工程,并按照如图添加控件,修改第一个static text Caption属性为+,第二个static text Caption属性为-,
分别修改三个button 的Caption属性为Add,
方法一:
双击第一个Add button,进入DemoDlg.cpp添加,
void CDemo1Dlg::OnBnClickedButton1()
{
int num1,num2,num3;
TCHAR ch1[],ch2[],ch3[]; //定义三个字符数组用来保存输入输出数据
GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,); //获取文本输入,并保存到数组中
GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,); num1=_ttoi(ch1); //将字符串转变为整数用于计算
num2=_ttoi(ch2); num3 = num1 + num2; //计算 _itot(num3,ch3,); //将整数转变为字符串用于显示
GetDlgItem(IDC_EDIT3)->SetWindowText(ch3); //显示结果
}
方法二:
双击第二个Add button,进入DemoDlg.cpp添加,
void CDemo1Dlg::OnBnClickedButton2()
{ int num1,num2,num3;
TCHAR ch1[],ch2[],ch3[];
GetDlgItemText(IDC_EDIT1,ch1,);
GetDlgItemText(IDC_EDIT2,ch1,); num1=_ttoi(ch1);
num2=_ttoi(ch2); num3 = num1 + num2; _itot(num3,ch3,);
SetDlgItemText(IDC_EDIT3,ch3);
}
方法三:
双击第三个Add button,进入DemoDlg.cpp添加,
方法三
void CDemo1Dlg::OnBnClickedButton3()
{ int num1,num2,num3;
num1=GetDlgItemInt(IDC_EDIT1);
num2=GetDlgItemInt(IDC_EDIT2); num3 = num1 + num2; SetDlgItemInt(IDC_EDIT3,num3);
}
MFC_对话框_访问控件_7种方法_A的更多相关文章
- MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.
MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...
- C#中跨线程访问控件问题解决方案
net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,推荐的解决方法是采用代理,用代理方法来间接操作不是同一线程创建的控件. 第二种方法是禁止编译器对跨线程访问作检查,可以实现访问,但是出不出 ...
- c#使用MethodInvoker解决跨线程访问控件
功能函数测试集锦(77) C#专区(114) 版权声明:本文为博主原创文章,未经博主允许不得转载. .net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,有一种方法是禁止编译器对跨线 ...
- c# winform InvokeRequired 解决跨线程访问控件
C#中禁止跨线程直接访问控件,InvokeRequired是为了解决这个问题而产生的,当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它. Windows 窗体中 ...
- winform跨线程访问控件
首先说下,.net 2.0以后加强了安全机制,不允许在winform中直接跨线程访问控件的属性.所以除了控件所在的线程外的线程调用会抛异常 (Cross-thread operation not va ...
- C# 关于跨线程访问控件问题
跨线程访问控件问题的原因是:控件都是在主线程中创建的,而系统默认控件的修改权归其创建线程所有.在子线程中如果需要直接修改控件的内容,需要使用委托机制将控件的修改操作交给主线程处理.因此,当没有使用委托 ...
- C#中跨线程访问控件
net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,推荐的解决方法是采用代理,用代理方法来间接操作不是同一线程创建的控件. 第二种方法是禁止编译器对跨线程访问作检查,可以实现访问,但是出不出 ...
- C#线程中安全访问控件(重用委托,避免繁复的delegate,Invoke)总结
1.第一种,不安全,当线程过多后,timer控件和线程中同时访问窗体控件时,有时会出现界面重绘出错. public frmMain() { InitializeComponent(); System. ...
- [C#] Control.Invoke方法和跨线程访问控件(转载)
转载前,在网上找了好多INVOKE方法的文章,就这个看着还可以,明白了大概,以后再深用的时候再研究 ,废话少说上转载(连转载都说的这么有气势,哈哈) 在设计界面时,我们经常需要将一些需要时间才能完 ...
随机推荐
- String字符串的比较 Day15
package com.sxt.review; /* * String字符串的比较 * ==和equals() * 总结:比较String内容时用equals()方法 */ public class ...
- LeetCode120 Triangle
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- CPU核数和线程数查找
方法1: 方法2:
- Jmeter监控
https://www.cnblogs.com/saryli/p/6596647.html JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况. JMeter正常自带可以通过Tom ...
- Object-c学习笔记十八-----NSPredicate
Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配.谓词表示计算真值或假值的函数. NSPre ...
- WPS修订功能的使用
WPS设置 设置用户名: 修改之后的效果:
- 5、nginx配置
1.安装 sudo apt-get install nginx 2.启用 sudo service nginx start 3.若要将 Nginx 配置为转发请求向 ASP.NET Core 应用程序 ...
- 给博客添加rss订阅
如果是自己搭建博客,有一个问题是如何写一篇新的文章就可以告诉读者,你写了一篇新的?一个简单方法是使用 rss ,RSS订阅是站点用来和其他站点之间共享内容的一种简易方式,即Really Simple ...
- 为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!
2019年5月29日15时,阿里云RDS for MySQL 8.0正式上线,使得阿里云成为紧跟社区步伐,发布MySQL最新版本的云厂商.RDS for MySQL 8.0 产品是阿里云推出的 MyS ...
- jquery实现单击div切换背景
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...