MFC List Control 控件 以及添加文本框 操作

1、定义控件控制变量   m_ListViewRemind   文本框变量 m_EditRemind

 

2、设置行高

    CImageList   m_l;
    m_l.Create(1, 28, TRUE | ILC_COLOR32, 1, 0);//s设置行高
    m_ListViewRemind.SetImageList(&m_l, LVSIL_SMALL);

 

3、插入列项值显示

m_ListViewRemind.InsertColumn(0, _T("基材批次号"), LVCFMT_CENTER, 90);
m_ListViewRemind.InsertItem(0, "");

 

4、m_ListViewRemind.DeleteAllItems();//清空所有数据

 

5、清空表头数据

 CHeaderCtrl* pHeaderCtrl = m_ListViewRemind.GetHeaderCtrl();
    if (pHeaderCtrl != NULL)
    {
        int  nColumnCount = pHeaderCtrl->GetItemCount();
        for (int i = 0; i < nColumnCount; i++)
        {
            m_ListViewRemind.DeleteColumn(0);//清空表头;
        }
    }

 

6、获取整列长度

    CRect rect;
    m_ListViewRemind.GetClientRect(&rect);
    int iLength = rect.Width();

 

7、插入对应的列及宽度  iEachWidth为宽度值

    m_ListViewRemind.InsertColumn(0, _T("基材批次号"), LVCFMT_CENTER, iEachWidth*1.2);
    m_ListViewRemind.InsertColumn(1, _T("品种名"), LVCFMT_CENTER, iEachWidth);
    m_ListViewRemind.SetExtendedStyle(m_ListViewRemind.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

 

8、单击事件处理函数

void BRCheckRemind::OnSingleClkListViewRemind(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
    // TODO: 在此添加控件通知处理程序代码
    // TODO: 在此添加控件通知处理程序代码
    CRect rc;
    CString strTemp;
    NM_LISTVIEW *pNMListView = (NM_LISTVIEW *)pNMHDR;
    m_Row = pNMListView->iItem;
    m_Col = pNMListView->iSubItem;
    //    if (pNMListView->iItem == -1)    //选择空白处,添加一行,并设置焦点为最后一行,第二列  
    //    {
    //        //m_Row = m_ListViewRemind.GetItemCount();
    //        //strTemp.Format(_T("%d"), m_Row + 1);
    //        //m_ListViewRemind.InsertItem(m_Row, strTemp);
             m_ListViewRemind.SetItemText(0, 1, "1");
             m_ListViewRemind.SetItemState(m_Row, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
             m_ListViewRemind.EnsureVisible(m_Row, FALSE);
    //    }

    if (m_Col != 1) // 选择子项  
    {
        m_ListViewRemind.GetSubItemRect(m_Row, m_Col, LVIR_LABEL, rc);
        m_EditRemind.SetParent(&m_ListViewRemind);
        m_EditRemind.MoveWindow(rc);

        m_EditRemind.SetWindowTextA(m_ListViewRemind.GetItemText(m_Row, m_Col));
        m_EditRemind.ShowWindow(SW_SHOW);
        m_EditRemind.SetFocus();//设置Edit焦点  
        m_EditRemind.ShowCaret();//显示光标  
        m_EditRemind.SetSel(0, -1);//全选  
    }
    *pResult = 0;
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值