不容按钮、下拉框 执行同一个函数或者同一种函数的用法

1不同按钮执行同种函数;

第一步:

在resource.h 文件里面把按钮(下拉框)的它们ID 改为连续

#define IDC_BUTTON1 1003
#define IDC_BUTTON2 1004
#define IDC_BUTTON3 1005
#define IDC_BUTTON4 1006
#define IDC_BUTTON5 1007

第二:

.h文件定义执行函数

afx_msg void OnBnClickedProgram( UINT nID );//按钮

afx_msg void OnCbnSelchangeCardID( UINT nID );//下拉框

第三:

.cpp定义映射

BEGIN_MESSAGE_MAP(CProjiectDlg, CDialog)

ON_CONTROL_RANGE( BN_CLICKED ,IDC_BUTTON1 , IDC_BUTTON40 , OnBnClickedProgram  )//按键的消息映射 表示从IDC_BUTTON1到IDC_BUTTON40都执行这个函数

ON_CONTROL_RANGE( CBN_SELCHANGE ,IDC_COMBO3 , IDC_COMBO7 , OnCbnSelchangeCardID  )//下拉框的消息映射


添加消息映射
  ON_CONTROL_RANGE(BN_CLICKED,IDC_NUM_0,IDC_NUM_9,OnNum)
  第一个参数 事件
  第二个参数 控件的第一个id
  第三个参数 控件的最后一个id
  第四个参数 响应事件的方法

END_MESSAGE_MAP()

第四:

函数体;

 void CProjiectDlg::OnBnClickedProgram( UINT nID );//按钮

{

}

 void CProjiectDlg::OnCbnSelchangeCardID( UINT nID );//下拉框

{

}

还有一个问题就是按钮、下拉框等按键可以关联按键数组变量;

如下拉框;

CComboBox m_ComID[5];

void CProjiectDlg::DoDataExchange(CDataExchange* pDX)
{

DDX_Control(pDX, IDC_COMBO3, m_ComID[0] );
DDX_Control(pDX, IDC_COMBO4, m_ComID[1] );
DDX_Control(pDX, IDC_COMBO5, m_ComID[2] );
DDX_Control(pDX, IDC_COMBO6, m_ComID[3] );
DDX_Control(pDX, IDC_COMBO7, m_ComID[4] );

}

posted @ 2013-09-08 17:40  友琼  阅读(307)  评论(0编辑  收藏  举报