当前位置: 代码迷 >> WinCE >> WINCE 的ListView有关问题
  详细解决方案

WINCE 的ListView有关问题

热度:107   发布时间:2016-04-28 12:11:20.0
WINCE 的ListView问题
现在需要在显示内容的ListView的某列添加一个按钮,并添加这个按钮的点击事件。
我需要怎么做?
有现成的代码参考最好。
------解决方案--------------------
例子你可以在http://www.codeproject.com/上找到。

简单处理是自绘,然后处理点击事件

//自绘NM_CUSTOMDRAW
void CXXXDlg::OnNMCustomdrawList(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
*pResult = 0;

if ( CDDS_PREPAINT == pNMCD->dwDrawStage )
{
*pResult = CDRF_NOTIFYITEMDRAW;
}
else if ( CDDS_ITEMPREPAINT == pNMCD->dwDrawStage )
{
*pResult = CDRF_NOTIFYPOSTPAINT;
}
else if ( CDDS_ITEMPOSTPAINT == pNMCD->dwDrawStage )
{
//这里自己画一个按钮的样子
*pResult = CDRF_DODEFAULT;
}
}

//点击事件NM_CLICK
void CXXXDlg::OnNMClickList(NMHDR *pNMHDR, LRESULT *pResult)
{
NMLISTVIEW * pNMLV = reinterpret_cast<NMLISTVIEW *>(pNMHDR);
//根据pNMLV->iItem值自己写处理代码

*pResult = 0;
}

------解决方案--------------------
我的建议是不要使用系统的控件,自己绘制,响应鼠标按下消息做处理
  相关解决方案