MFC 界面文本控制

// TestDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Dlg.h"
#include "TestDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTestDlg dialog

CTestDlg::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_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTestDlg message handlers

void 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 <a href="http://gocrazygreen.net/">HCG Diet</a> 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)-&gt;GetWindowText(ch1,10);
//  GetDlgItem(IDC_EDIT2)-&gt;GetWindowText(ch2,10);
//  nmu1 = atoi(ch1);
//  num2 = atoi(ch2);
//     num3 = nmu1 + num2;
//  itoa(num3,ch3,10);
//  GetDlgItem(IDC_EDIT3)-&gt;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)-&gt;SetWindowText("测试");

}

void CTestDlg::OnButton1() 
{
 if (false == m_smaller)
 {
  GetDlgItem(IDC_BUTTON1)-&gt;SetWindowText("扩展&gt;&gt;");
  m_smaller = true;
 }
 else
 {

  GetDlgItem(IDC_BUTTON1)-&gt;SetWindowText("&lt;&lt;收缩");
  m_smaller = false;
 }
}

 

posted @ 2016-02-25 16:24  風行  阅读(341)  评论(0编辑  收藏  举报