Windows程序设计 访问对话框控件的七种方法(1)

     在Windows程序设计中,基于对话框的程序设计,对对话框上控件的访问有多种方法。在这里我总结七种方法,但这七种方法我可以把他们分为三大类。下面通过一个小示例演示对话框控件访问的几种方法:

    上图为一个小的对话框应用程序的示例程序,实现的功能是:分别在Number1和Number2所标示的编辑框中输入数字,当点击Add按钮时,将Number1和Number2所标示的编辑框中的数字进行相加,将求和结果写到Number3所标示的编辑框中。

    要想将两个编辑框中的数字进行相加,首先要定位到对应的控件,然后获取控件上的文本,最后输出到第三个编辑框控件上。下面就具体介绍几种访问控件的方法:

一、第一类方法:

    这类方法是通过调用CWnd类的成员函数来访问对话框控件。

方法一:调用CWnd类的成员函数GetDialogItem()GetWindowText()以及SetWindowText()函数来实现。

    函数功能:CWnd* GetDlgItem( int nID ) ,通过参数传递某一控件的ID,该函数返回一个指向该控件的指针;

                  int GetWindowText( LPTSTR lpszStringBuf, int nMaxCount )该函数获得指定控件上的文本信   息,并将其保存在缓冲区lpszStringBuf中,nMaxCount 指定缓冲区的最大值。通过以上两个函数就可以访问对话框上指定控件的信息。

                void SetWindowText( LPCTSTR lpszString );该函数用心的字符串信息写入指定控件的文本区。

示例代码如下:

int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];

 GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);
 GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);

 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);

 GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);

方法二:调用CWnd类的成员函数GetDlgItemText()来实现预定功能。

函数功能:int GetDlgItemText( int nID, LPTSTR lpStr, int nMaxCount ),该函数相当于函数GetDialogItem()和GetWindowText()的组合。当然写入文本信息也有相对应的函数void SetDlgItemText( int nID, LPCTSTR lpszString ); 

示例代码如下:

int num1,num2,num3;
 char ch1[10],ch2[10],ch3[10];

 GetDlgItemText(IDC_EDIT1,ch1,10);
 GetDlgItemText(IDC_EDIT2,ch2,10);

 num1=atoi(ch1);
 num2=atoi(ch2);
 num3=num1+num2;
 itoa(num3,ch3,10);

 SetDlgItemText(IDC_EDIT3,ch3);

方法三:调用CWnd类的GetDlgItemInt()成员函数实现上述功能。方法一和二的GetWindowText()和GetDlgItenText()函数获得的知识控件的文本信息,如果想对数字进行相加运算,还得将字符转化成数值。CWnd类的UINT GetDlgItemInt( int nID, BOOL* lpTrans = NULL, BOOL bSigned = TRUE )成员函数直接获得控件的字符信息并将其转化为数值。当然写会数值也有相对应的函数 void SetDlgItemInt( int nID, UINT nValue, BOOL bSigned = TRUE );

示例代码如下:

int num1,num2,num3;
 num1=GetDlgItemInt(IDC_EDIT1);
 num2=GetDlgItemInt(IDC_EDIT2);

 num3=num1+num2;
 SetDlgItemInt(IDC_EDIT3,num3);

以上三种方法是访问对话框控件的第一类方法,都是通过调用Cwnd类的成员函数实现的,基本思想都是通过控件的ID先获得对话框上的控件,然后访问控件的信息,对控件做各种操作。原理是一样的,只是不同的函数功能不一。

    基于篇幅有限,将在Windows程序设计 访问对话框控件的七种方法(2)中介绍第二类访问控件的方法:将控件关联相应的变量来对其访问和操作。

posted @ 2011-09-08 21:34  乘风736  阅读(1710)  评论(0编辑  收藏  举报