// TestDlg.cpp : implementation file//#include "stdafx.h"#include "Dlg.h"#include "TestDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////// CTestDlg dialogCTestDlg::CTestDlg(CWnd* pParent /*=NULL*/) : CDialog(CTestDlg::IDD, pParent){ //{ {AFX_DATA_INIT(CTestDlg) //}}AFX_DATA_INIT m_IsCreate = false; m_smaller = false;}void CTestDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); //{ {AFX_DATA_MAP(CTestDlg) DDX_Control(pDX, IDC_EDIT3, m_edit3); DDX_Control(pDX, IDC_EDIT2, m_edit2); DDX_Control(pDX, IDC_EDIT1, m_edit1); //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CTestDlg, CDialog) //{ {AFX_MSG_MAP(CTestDlg) ON_BN_CLICKED(IDC_BTN_ADD, OnBtnAdd) ON_BN_CLICKED(IDC_STATIC1, OnStatic1) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) //}}AFX_MSG_MAPEND_MESSAGE_MAP()/////// CTestDlg message handlersvoid CTestDlg::OnBtnAdd() {// 如果创建窗口以后再次点击窗口会报错,必须判断窗口是否已经创建// 所以需要在类中增加一个布尔型的成员变量用于判断// static CButton btn;// if (m_IsCreate == false)// { // // btn.Create("新按钮",BS_DEFPUSHBUTTON,CRect(0,0,200,200),this,123);// btn.ShowWindow(SW_SHOW);// m_IsCreate = true;// }// else// {// btn.DestroyWindow();// m_IsCreate=false;// }/*通过判断窗口窗口指针是否存在,也可以判断该按钮是否创建*/// static CButton btn;// // if (GetDlgItem(123)==NULL)// // {// btn.Create("新按钮",BS_DEFPUSHBUTTON,CRect(0,0,200,200),this,123);// btn.ShowWindow(SW_SHOW);// }/*通过判断窗口窗口句柄是否存在,也可以判断该按钮是否创建*/ // static CButton HCG Diet btn;// // if(!btn.m_hWnd)// // {// btn.Create("新按钮",BS_DEFPUSHBUTTON,CRect(0,0,200,200),this,123);// btn.ShowWindow(SW_SHOW);// } /************************************************************************/ /* 第一种方法: 1.分别定义三个整形变量、字符型数组 2.获取EDIT1、EDIT2中的数据,保存到ch1、ch2分别保存到buff中。 3.使用C语言中的函数atoi()进行转换成为整形数据进行运算,结果存放在num3。 4.使用C语言中的函数itoa()将数据存放到ch3的buff中。 5.使用SetWindowText()输出buff中的数据 /************************************************************************/// int nmu1,num2,num3;// char ch1[10],ch2[10],ch3[10];// GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);// GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);// nmu1 = atoi(ch1);// num2 = atoi(ch2);// num3 = nmu1 + num2;// itoa(num3,ch3,10);// GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);/************************************************************************//* 第二种方法:GetDlgItemText () 函数。 GetDlgItem()和GetWindowText()的组合 /************************************************************************/// 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);/************************************************************************//* 第三种方法:GetDlgItemInt()直接得到数值/************************************************************************/ int num1,num2,num3; num1 = GetDlgItemInt(IDC_EDIT1); num2 = GetDlgItemInt(IDC_EDIT2); num3 = num1 + num2; SetDlgItemInt(IDC_EDIT3,num3);/************************************************************************//* 第四种方法 为成员变量关联值类型。/************************************************************************/// UpdateData(); // m_edit3 = m_edit1 + m_edit2 ; // UpdateData(false);/************************************************************************//* 第五种方法:为成员变量关联控制类型/************************************************************************//* char ch1[10],ch2[10],ch3[10]; int num1,num2,num3; m_edit1.GetWindowText(ch1,10); m_edit2.GetWindowText(ch2,10); num1 = atoi(ch1); num2 = atoi(ch2); num3 = num1 + num2; itoa(num3,ch3,10); m_edit3.SetWindowText(ch3);*/}void CTestDlg::OnStatic1() { GetDlgItem(IDC_STATIC1)->SetWindowText("测试");}void CTestDlg::OnButton1() { if (false == m_smaller) { GetDlgItem(IDC_BUTTON1)->SetWindowText("扩展>>"); m_smaller = true; } else { GetDlgItem(IDC_BUTTON1)->SetWindowText("<<收缩"); m_smaller = false; }}