Last Updated 2003/02/07
Programming Tips Visual C++ MFC CListView(CListCtrl)  索 引 
インプレイス編集の破棄
2003/02/07

CListView でインプレイス編集を許可している場合,変更される内容が空文字ならば,変更を許可しいないようにする.

void CTListDlg::OnEndlabeleditList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
    LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;

    *pResult = 0;

    LVITEM& item = pDispInfo->item;

    if(item.mask & LVIF_TEXT) {
        if( !CString(item.pszText).IsEmpty() )  {
            *pResult = 1;
        }
    }
}

pResult は NVM_ENDLABEL 通知に対する応答(編集結果を採用or廃棄)を格納する領域で,ヘルプには

If the pszText member of the LVITEM structure is non-NULL, return TRUE to set the item's label to the edited text. Return FALSE to reject the edited text and revert to the original label.

とある.


参照
入力不可にする
前後のTips
インプレイス編集の破棄

DSS ProgrammingTipsCGI Ver2.02