免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
CListCtrl 雙擊可編輯控件實(shí)現(xiàn)
這個(gè)功能其實(shí)很簡單,就是在雙擊是將CEdit控件顯示在對(duì)應(yīng)的位置即可,同時(shí)填充應(yīng)有的內(nèi)容,鼠標(biāo)離開時(shí)將內(nèi)容賦值與CListCtrl即可。
我寫在這里只是為了備份一下而已。
1. 
void CEditListCtrl::OnLButtonUp(UINT nFlags, CPoint point)
{
    // TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值
    if (m_bEdit)
    {   //獲取鼠標(biāo)所在的list控件子表項(xiàng)
        LVHITTESTINFO lvhti;    //保存ListCtrl行列信息的結(jié)構(gòu)
        lvhti.pt = point;
        m_item = CListCtrl::SubItemHitTest(&lvhti);
        if (m_item == -1) 
            return;
        m_sub_item = lvhti.iSubItem;
        if (m_edit_l != 1)
            m_sub_item = m_edit_l;
     //用來顯示編輯框
        show_edit(m_item, m_sub_item); 
    }
    CListCtrl::OnLButtonUp(nFlags, point);
}

void CEditListCtrl::show_edit(int item, int sub_item)
{
    CRect rect;

    m_item = item;
    m_sub_item = sub_item;
    CListCtrl::GetSubItemRect(item, sub_item, LVIR_LABEL, rect); //獲取子表項(xiàng)的大小
    if (m_edit.m_hWnd == NULL)
    {   //創(chuàng)建編輯框和設(shè)置編輯框中的字體
        m_edit.Create(ES_AUTOHSCROLL|WS_CHILD|ES_LEFT|ES_WANTRETURN|WS_BORDER,CRect(0,0,0,0),this,IDC_EDIT);
        m_edit.ShowWindow(SW_HIDE);

        CFont tpFont;
        tpFont.CreateStockObject(DEFAULT_GUI_FONT);
        m_edit.SetFont(&tpFont);
        tpFont.DeleteObject();
    }
  //將編輯框移動(dòng)到子表項(xiàng)所在的位置,并將焦點(diǎn)設(shè)置在編輯框中
    CString strItem = CListCtrl::GetItemText(item, sub_item);
    rect.top -= 2;    // 防止上邊框被遮擋
    m_edit.MoveWindow(&rect);
    m_edit.ShowWindow(SW_SHOW);
    m_edit.SetWindowText(strItem);//設(shè)置編輯框的內(nèi)容為字表項(xiàng)的內(nèi)容
    m_edit.SetFocus();
    m_edit.SetSel(-1); 
}

2. 
LRESULT CEditListCtrl::OnEditEnd(WPARAM wParam,LPARAM lParam)
{
    CString strText;
    m_edit.GetWindowText(strText);
    CListCtrl::SetItemText(m_item, m_sub_item, strText); //把編輯框中的內(nèi)容設(shè)置為子表項(xiàng)的內(nèi)容
    m_edit.ShowWindow(SW_HIDE); //將編輯框隱藏
    return 0;
}

3. 
void CListCtrlEdit::OnKillFocus(CWnd* pNewWnd)
{
    CEdit::OnKillFocus(pNewWnd);

    // TODO: 在此處添加消息處理程序代碼
    //向父窗口發(fā)消息
    CWnd* pParent = this->GetParent();
    ::PostMessage(pParent->GetSafeHwnd(),WM_USER_EDIT_END,0,0);
}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VC List Control控件高級(jí)使用
擴(kuò)展通用控件的功能
[轉(zhuǎn)載]vc中讓列表框可編輯
關(guān)于CListCtrl控件更新Item的閃爍問題和一次插入大容量數(shù)據(jù)的顯示問題解決辦法【轉(zhuǎn)】
InplaceEdit TListView subitem 就地編輯列表視圖子項(xiàng)
CtrlList判斷一個(gè)item是否被選中
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服