|
void BatchPrint::OnNMClickList5(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
NM_LISTVIEW *pEditCtrl = (NM_LISTVIEW *)pNMHDR;
//printf("行:%d,列:%d\n", pEditCtrl->iItem, pEditCtrl->iSubItem);
if (pEditCtrl->iItem == -1)//点击到非工作区
{
if (haveeditcreate == true)//如果之前创建了编辑框就销毁掉
{
distroyEdit(&m_listcon5, &m_Edit, e_Item, e_SubItem);//销毁单元格编辑框对象
haveeditcreate = false;
}
if (haveccomboboxcreate == true)//如果之前创建了下拉列表框就销毁掉
{
distroyCcombobox(&m_listcon5, &m_comBox, e_Item, e_SubItem);
haveccomboboxcreate = false;
}
}
else if (pEditCtrl->iSubItem == 2)//如果不是性别选项
{
if (haveccomboboxcreate == true)//如果之前创建了编辑框就销毁掉
{
distroyCcombobox(&m_listcon5, &m_comBox, e_Item, e_SubItem);
haveccomboboxcreate = false;
}
if (haveeditcreate == true)
{
if (!(e_Item == pEditCtrl->iItem && e_SubItem == pEditCtrl->iSubItem))//如果点中的单元格不是之前创建好的
{
distroyEdit(&m_listcon5, &m_Edit, e_Item, e_SubItem);
haveeditcreate = false;
createEdit(pEditCtrl, &m_Edit, e_Item, e_SubItem, haveeditcreate);//创建编辑框
}
else//点中的单元格是之前创建好的
{
m_Edit.SetFocus();//设置为焦点
}
}
else
{
e_Item = pEditCtrl->iItem;//将点中的单元格的行赋值给“刚编辑过的行”以便后期处理
e_SubItem = pEditCtrl->iSubItem;//将点中的单元格的行赋值给“刚编辑过的行”以便后期处理
createEdit(pEditCtrl, &m_Edit, e_Item, e_SubItem, haveeditcreate);//创建编辑框
}
}
else if (pEditCtrl->iSubItem == 1) //如果是性别选项,在单元格处生成下拉列表项
{
if (haveeditcreate == true)//如果之前创建了编辑框就销毁掉
{
distroyEdit(&m_listcon5, &m_Edit, e_Item, e_SubItem);
haveeditcreate = false;
}
if (haveccomboboxcreate == true)
{
if (!(e_Item == pEditCtrl->iItem && e_SubItem == pEditCtrl->iSubItem))//如果点中的单元格不是之前创建好的
{
distroyCcombobox(&m_listcon5, &m_comBox, e_Item, e_SubItem);
haveccomboboxcreate = false;
createCcombobox(pEditCtrl, &m_comBox, e_Item, e_SubItem, haveccomboboxcreate);//创建编辑框
m_comBox.Clear();
for (int i = 0; i < styleList.length(); i++)
{
CString jk = styleList.at(i);
int k = jk.Find(_T(".ctb"));
if (k > 0)
{
m_comBox.AddString(styleList.at(i));
}
}
/*m_comBox.AddString(L"男");
m_comBox.AddString(L"女");*/
m_comBox.ShowDropDown();//自动下拉
}
else//点中的单元格是之前创建好的
{
m_comBox.SetFocus();//设置为焦点
}
}
else
{
e_Item = pEditCtrl->iItem;//将点中的单元格的行赋值给“刚编辑过的行”以便后期处理
e_SubItem = pEditCtrl->iSubItem;//将点中的单元格的行赋值给“刚编辑过的行”以便后期处理
createCcombobox(pEditCtrl, &m_comBox, e_Item, e_SubItem, haveccomboboxcreate);//创建编辑框
m_comBox.Clear();
for (int i = 0; i < styleList.length(); i++)
{
CString jk = styleList.at(i);
int k = jk.Find(_T(".ctb"));
if (k > 0)
{
m_comBox.AddString(styleList.at(i));
}
}
/* m_comBox.AddString(L"男");
m_comBox.AddString(L"女");*/
m_comBox.ShowDropDown();//自动下拉
}
}
*pResult = 0;
// TODO: 在此添加控件通知处理程序代码
} |
|