Windows程序设计 对话框控件访问的七种方法(3)
来源:互联网 发布:php导出excel表格demo 编辑:程序博客网 时间:2024/05/02 10:47
在对话框控件访问的七种方法(1)、(2)中介绍了对话框空间访问的第一类和第二类方法,下面介绍对话框控件访问的第三类方法:
在Windows程序设计中,基于对话框的程序设计,对对话框上控件的访问有多种方法。在这里我总结七种方法,但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法:
上图为一个小的对话框应用程序的示例程序,实现的功能是:分别在Number1和Number2所标示的编辑框中输入数字,当点击Add按钮时,将Number1和Number2所标示的编辑框中的数字进行相加,将求和结果写到Number3所标示的编辑框中。
要想将两个编辑框中的数字进行相加,首先要定位到对应的控件,然后获取控件上的文本,最后输出到第三个编辑框控件上。下面就具体介绍几种访问控件的方法:
第三类方法:
Windows程序都是基于消息的,编辑框也属于窗口。我们可以通过向操作系统发送WM_GETTEXT和WM_SETTEXT消息,来获得控件上的文本与设置控件上的文本。从而访问对话框控件。
方法6:
我们可以调用Windows的API函数::SendMessage()来发送WM_GETTEXT和WM_SETTEXT消息。当然我们也可以调用CWnd类的成员函数来发送WM_GETTEXT和WM_SETTEXT消息,原因是编辑框控件也属于窗口。具体实现如下:
int num1,num2,num3;
char ch1[10],ch2[10],ch3[10];
//::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
//::SendMessage(m_edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)ch1);
//GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
m_edit1.SendMessage(WM_GETTEXT,10,(LPARAM)ch1);
m_edit2.SendMessage(WM_GETTEXT,10,(LPARAM)ch2);
num1=atoi(ch1);
num2=atoi(ch2);
num3=num1+num2;
itoa(num3,ch3,10);
m_edit3.SendMessage(WM_SETTEXT,0,(LPARAM)ch3);
方法7:
上述的方法6中的通过调用CWnd类的成员函数SendMessage()函数来发送消息时,都要先获得控件的指针或者用与控件相关联的对象调用其成员函数。我们也可以用CWnd类的另一个成员函数SendDlgItemMessage()函数来发送消息,这个函数可以看成是方法6的两个步骤的结合。例如:
int num1,num2,num3;
char ch1[10],ch2[10],ch3[10];
SendDlgItemMessage(IDC_EDIT1,WM_GETTEXT,10,(LPARAM)ch1);
SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,10,(LPARAM)ch2);
num1=atoi(ch1);
num2=atoi(ch2);
num3=num1+num2;
itoa(num3,ch3,10);
SendDlgItemMessage(IDC_EDIT3,WM_SETTEXT,0,(LPARAM)ch3);
以上的七种方法是访问控件的几种常用方法。第一类方法:先获得对话框控件的指针人后调用CWnd的成员函数访问控件是最主要最基本的访问方法。第二类方法:通过关联变量或对象,可以简化代码的书写,是一种聪明的访问方法。第三类方法:发送消息,这需要对Windows程序的运行机制比较熟悉,有利于理解Windows程序的内部运行机制。
- Windows程序设计 对话框控件访问的七种方法(3)
- Windows程序设计 访问对话框控件的七种方法(1)
- Windows程序设计 对话框控件访问的七种方法(2)
- Windows编程基础--第8节 MFC对话框控件访问的七种方法(上)
- Windows编程基础--第9节 MFC对话框控件访问的七种方法(下)
- 利用MFC 对话框访问控件的七种方法
- 对话框控件访问的七种方式
- 对话框控件的七种访问方式
- 访问对话框的七种方法(上)
- 访问对话框的七种方法(中)
- 访问对话框的七种方法(下)
- 总结对话框控件访问的七种方式
- 总结VC6对话框控件访问的七种方式
- 对话框控件访问七种方式
- 对话框控件访问七种方式
- VC:对话框控件访问七种方式
- 对话框控件访问七种方式
- C++对话框控件访问的7种方法
- Partition List
- Windows程序设计 访问对话框控件的七种方法(1)
- malloc/free与new/delete的区别
- 汇编语言中溢出和进位的区别
- Windows程序设计 对话框控件访问的七种方法(2)
- Windows程序设计 对话框控件访问的七种方法(3)
- 用C++实现简单的文件I/O操作(转载自http://developer.51cto.com/art/201107/277311.htm)
- ext3.pagingBar调用removeAll()方法条数没有重置解决方式
- LeetCode:Median of Two Sorted Arrays
- 山东理工大学ACM平台题答案关于C语言 1232 猴子分桃
- CSS Selector
- ORACLE的逻辑存储体系
- IT学子成长指导类文章链接(九)
- 【博客之星】我的分享离不开你们的支持