/********************************************************
* *
* ComboBox下拉框实例 *
* *
********************************************************/
#pragma once
#include "afxwin.h"
#include
using namespace std ;
// CComboxDlg 对话框
typedef struct tagComboxItem{
char key[50] ;
char val[100] ;
}SComboxItem ;
class CComboxDlg : public CDialog
{
DECLARE_DYNAMIC(CComboxDlg)
public:
CComboxDlg(CWnd* pParent = NULL); // 标准构造函数
virtual ~CComboxDlg();
// 对话框数据
enum { IDD = IDD_DLG_COMBOXSAMPLE };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
CComboBox m_combox;
public:
CEdit m_key;
public:
CEdit m_val;
public:
CButton m_btnAdd;
public:
CButton m_btnEdit;
public:
CButton m_btnDel;
public:
afx_msg void OnBnClickedBtnAdd();
public:
afx_msg void OnBnClickedBtnDel();
public:
afx_msg void OnBnClickedBtnEdit();
public:
afx_msg void OnCbnSelchangeCombo();
};
//////////////////////////////////////////
// ComboxDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "MFC1.h"
#include "ComboxDlg.h"
// CComboxDlg 对话框
IMPLEMENT_DYNAMIC(CComboxDlg, CDialog)
CComboxDlg::CComboxDlg(CWnd* pParent /*=NULL*/)
: CDialog(CComboxDlg::IDD, pParent)
{
}
CComboxDlg::~CComboxDlg()
{
}
void CComboxDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO, m_combox);
DDX_Control(pDX, IDC_EDIT_KEY, m_key);
DDX_Control(pDX, IDC_EDIT_VAL, m_val);
DDX_Control(pDX, IDC_BTN_ADD, m_btnAdd);
DDX_Control(pDX, IDC_BTN_EDIT, m_btnEdit);
DDX_Control(pDX, IDC_BTN_DEL, m_btnDel);
}
BEGIN_MESSAGE_MAP(CComboxDlg, CDialog)
ON_BN_CLICKED(IDC_BTN_ADD, &CComboxDlg::OnBnClickedBtnAdd)
ON_BN_CLICKED(IDC_BTN_DEL, &CComboxDlg::OnBnClickedBtnDel)
ON_BN_CLICKED(IDC_BTN_EDIT, &CComboxDlg::OnBnClickedBtnEdit)
ON_CBN_SELCHANGE(IDC_COMBO, &CComboxDlg::OnCbnSelchangeCombo)
END_MESSAGE_MAP()
// CComboxDlg 消息处理程序
void CComboxDlg::OnBnClickedBtnAdd()
{
// TODO: 在此添加控件通知处理程序代码
CString sKey("") ;
CString sVal("") ;
m_key.GetWindowText(sKey) ;
m_val.GetWindowText(sVal) ;
SComboxItem *item = (SComboxItem*)malloc(sizeof(SComboxItem)) ;
strcpy(item->key,sKey.GetBuffer()) ;
strcpy(item->val,sVal.GetBuffer()) ;
int nIndex = m_combox.InsertString(-1,sVal) ;
m_combox.SetItemDataPtr(nIndex,item) ;
}
void CComboxDlg::OnBnClickedBtnDel()
{
// TODO: 在此添加控件通知处理程序代码
int nIndex = m_combox.GetCurSel() ;
m_combox.DeleteString(nIndex) ;
}
void CComboxDlg::OnBnClickedBtnEdit()
{
}
void CComboxDlg::OnCbnSelchangeCombo()
{
// TODO: 在此添加控件通知处理程序代码
int nIndex = m_combox.GetCurSel() ;
void *pData = m_combox.GetItemDataPtr(nIndex) ;
SComboxItem *item = (SComboxItem*)pData ;
m_key.SetWindowText(item->key) ;
m_val.SetWindowText(item->val) ;
}
阅读(13341) | 评论(0) | 转发(1) |