TXLDlg.cpp
// TXLDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "TXL.h"
#include "TXLDlg.h"
#include "afxdialogex.h"
// CTXLDlg 对话框
struct infomation
{
long long BH; //编号
CString bh; //编号 数据库
CString XM; //姓名
CString XB; //性别
CString XH; //学号
CString DH; //电话
CString QQ; //QQ
CString ZH; //住址
}stinfo[10];
IMPLEMENT_DYNAMIC(CTXLDlg, CDialogEx)
CTXLDlg::CTXLDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(IDD_DIALOG2, pParent)
{
}
CTXLDlg::~CTXLDlg()
{
}
void CTXLDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TXL_LIST, m_TXLList);
}
BEGIN_MESSAGE_MAP(CTXLDlg, CDialogEx)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_TXL_LIST, &CTXLDlg::OnLvnItemchangedTxlList)
ON_NOTIFY(NM_CLICK, IDC_TXL_LIST, &CTXLDlg::OnNMClickTxlList)
ON_BN_CLICKED(IDC_DR_BUTTON, &CTXLDlg::OnBnClickedDrButton)
ON_BN_CLICKED(IDC_DC_BUTTON, &CTXLDlg::OnBnClickedDcButton)
END_MESSAGE_MAP()
// CTXLDlg 消息处理程序
BOOL CTXLDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: 在此添加额外的初始化
m_TXLList.EnsureVisible(m_TXLList.GetItemCount() - 1, FALSE); //滚动条
bIsCreateEdit = false; // 还没有创建编辑框
bIsCreateCombobox = false; //还没有创建下拉列表框
CRect rect; //获取list的客户区,方便调节每一列的宽度
m_TXLList.GetClientRect(&rect);
m_TXLList.SetExtendedStyle(m_TXLList.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
m_TXLList.InsertColumn(0, _T("编号"), LVCFMT_LEFT, rect.right / 7, 0);
m_TXLList.InsertColumn(1, _T("姓名"), LVCFMT_LEFT, rect.right / 7, 1);
m_TXLList.InsertColumn(2, _T("性别"), LVCFMT_LEFT, rect.right / 7, 2);
m_TXLList.InsertColumn(3, _T("学号"), LVCFMT_LEFT, rect.right / 7, 3);
m_TXLList.InsertColumn(4, _T("电话"), LVCFMT_LEFT, rect.right / 7, 4);
m_TXLList.InsertColumn(5, _T("QQ"), LVCFMT_LEFT, rect.right / 7, 5);
m_TXLList.InsertColumn(6, _T("住址"), LVCFMT_LEFT, rect.right / 7, 6);
/*for (int i = 0; i <= 0; i++)
{
m_TXLList.InsertItem(i, _T(""));
m_TXLList.SetItemText(i, 0, _T(""));
m_TXLList.SetItemText(i, 1, _T(""));
m_TXLList.SetItemText(i, 2, _T(""));
m_TXLList.SetItemText(i, 3, _T(""));
m_TXLList.SetItemText(i, 4, _T(""));
m_TXLList.SetItemText(i, 5, _T(""));
m_TXLList.SetItemText(i, 6, _T(""));
}*/
//AfxOleInit(); //初始化COM并结束时关闭
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CTXLDlg::OnLvnItemchangedTxlList(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
}
void CTXLDlg::OnNMClickTxlList(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
NM_LISTVIEW *pEditCtrl = (NM_LISTVIEW *)pNMHDR; /////////// &&&&& important &&&////////////////////////////////////////////////
//printf("行:%d,列:%d\n", pEditCtrl->iItem, pEditCtrl->iSubItem);
if (pEditCtrl->iItem == -1)//点击到非工作区
{
if (bIsCreateEdit == true)//如果之前创建了编辑框就销毁掉
{
DistroyEdit(&m_TXLList, &m_Edit, e_Item, e_SubItem);//销毁单元格编辑框对象
bIsCreateEdit = false;
}
if (bIsCreateCombobox == true)//如果之前创建了下拉列表框就销毁掉
{
DistroyCombobox(&m_TXLList, &m_ComBox, e_Item, e_SubItem);
bIsCreateCombo