天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 61|回复: 0

clistctrl单元格处生成下拉列表项

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
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: 在此添加控件通知处理程序代码
}

 

 

 

 

clistctrl单元格处生成下拉列表项
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 10:21 , Processed in 0.183719 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表