📄 listboxdlg.cpp
字号:
// ListBoxDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ControlsDemo.h"
#include "ListBoxDlg.h"
static struct
{
char m_szName[50];
char m_szContact[50];
char m_szPhone[15];
} Vendors[] = {
"Vendor 1", "Joe Schmoe", "411",
"Vendor 2", "Jane Doe", "911",
"Vendor 3", "Jenny", "867-5309"
};
typedef struct
{
CString m_strName;
CString m_strContact;
CString m_strPhone;
} Vendor;
// CListBoxDlg dialog
IMPLEMENT_DYNAMIC(CListBoxDlg, CDialog)
CListBoxDlg::CListBoxDlg(CWnd* pParent /*=NULL*/)
: CDialog(CListBoxDlg::IDD, pParent)
, m_strName(_T(""))
, m_strPhone(_T(""))
{
}
CListBoxDlg::~CListBoxDlg()
{
}
void CListBoxDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_lbxVendors);
DDX_Text(pDX, IDC_EDIT1, m_strName);
DDX_Text(pDX, IDC_EDIT2, m_strContact);
DDX_Text(pDX, IDC_EDIT3, m_strPhone);
}
BEGIN_MESSAGE_MAP(CListBoxDlg, CDialog)
ON_BN_CLICKED(IDC_CREATE, OnBnClickedCreate)
ON_WM_DESTROY()
ON_BN_CLICKED(IDC_UPDATE, OnBnClickedUpdate)
ON_BN_CLICKED(IDC_DELETE, OnBnClickedDelete)
ON_LBN_SELCHANGE(IDC_LIST1, OnLbnSelchangeList1)
END_MESSAGE_MAP()
// CListBoxDlg message handlers
BOOL CListBoxDlg::OnInitDialog()
{
CDialog::OnInitDialog();
Vendor* pVendor;
int index;
for (int i = 0; i < sizeof Vendors / sizeof Vendors[0]; i++)
{
pVendor = new Vendor();
pVendor->m_strName = Vendors[i].m_szName;
pVendor->m_strContact = Vendors[i].m_szContact;
pVendor->m_strPhone = Vendors[i].m_szPhone;
index = m_lbxVendors.AddString(pVendor->m_strName);
ASSERT(LB_ERR != index);
if (LB_ERR != index)
{
m_lbxVendors.SetItemData(index, (DWORD)pVendor);
}
}
return TRUE;
}
void CListBoxDlg::OnBnClickedCreate()
{
// TODO: Add your control notification handler code here
}
void CListBoxDlg::OnDestroy()
{
CDialog::OnDestroy();
Vendor* pVendor;
int nVendors = m_lbxVendors.GetCount();
for (int i = 0; i < nVendors; i++)
{
pVendor = (Vendor*)m_lbxVendors.GetItemData(i);
ASSERT(pVendor);
if (pVendor)
{
delete pVendor;
}
}
}
void CListBoxDlg::OnBnClickedUpdate()
{
// TODO: Add your control notification handler code here
}
void CListBoxDlg::OnBnClickedDelete()
{
// TODO: Add your control notification handler code here
}
void CListBoxDlg::OnLbnSelchangeList1()
{
m_strName = "";
m_strContact = "";
m_strPhone = "";
int index = m_lbxVendors.GetCurSel();
if (LB_ERR != index)
{
Vendor* pVendor = (Vendor*)m_lbxVendors.GetItemData(index);
ASSERT(pVendor);
if (pVendor)
{
m_strName = pVendor->m_strName;
m_strContact = pVendor->m_strContact;
m_strPhone = pVendor->m_strPhone;
}
}
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -